거리를 0
351
27 asked
안녕하세요 선생님. 거리를 1000으로 두는 이유가 궁금합니다. 거리 값을 1000으로 두어도 타겟 문자를 만나면 0으로 초기화 되는데 왜 0이 아닌 큰 값으로 설정을 하신건가요.
Answer 2
3
안녕하세요^^
입력된 문자열이 ADBCDEFD 이고 타겟문자가 D라 할 때
각 문자가 왼쪽에 있는 타겟문자로 부터 거리를 구할 때 첫 번째 문자 A는 왼쪽에 D가 없기때문에 거리를 큰 숫자로 해놓습니다.
그 다음 오른쪽에 있는 타겟문자로 부터 거리를 구하면 첫 번째 문자 A는 거리가 1입니다.
왼쪽의 거리와 오른쪽의 거리 중 작은 값을 A의 거리로 하기 때문에 거리는 1이 선택됩니다.
A문자처럼 왼쪽이나 오른쪽에 타겟문자가 없을 경우 거리를 큰 숫자로 해야 반대방향의 거리가 작은 값이 되어 선택되게 됩니다. 그래서 p=1000으로 넉넉하게 잡습니다. 입력되는 문자열의 길이가 100을 넘지 않기 때문에 1000이면 넉넉하게 큽니다.
1
안녕하세요! 저는 이 부분이 계속 이해가 잘 안가서요 ㅠㅠ
P=0 으로 두어도
ADBCDEFD D 인 경우
A가 대상값이 아니기 때문에 1로 처음부터 들어가고 반대방향으로 올 때도 D 다음으로 와서 다시 1 이 되면 작지 않아서 값이 변경되진 않지만 기존 1도 맞는 값이라서
맞는게 아닌가요?
ADBCDEFD D 에서
P=0 으로 두면 1 0 1 1 0 1 1 0 가 나오는데 답이 아닌가요?
5
p=0 을 둬도 작동되는것은 단지 저 예제에서 첫번째 e전에 문자가 하나 밖에 없어서 작동되는것이고
만약. vvvtvt 이런 문자열의 t와의 거리를 구하는거라면
p=0이라면 첫 answer에 [1,2,3,0,1,0]가 담겨버리는데,
그렇게 된다면 뒤에서부터 탐색할때 생성되는 배열인 [3,2,1,0,1,0 ] 라는 배열과 비교하면서
첫 v와 가장 가까운 t의 거리는 3임에도 불구하고 1이 담겨버립니다.
하지만, p를 문자열길이보다 큰 값으로 두게되면 ex)1000
첫 answer 배열에 [1001,2,3,0,1,0]이 담기면서 정상적으로 작동합니다.
아마 직접 예제를 ttteachermode 이런식으로 바꿔서 해보시면 이해가실꺼같습니다. 저도 이해하느라 오래걸렸어요 ㅠ
안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.
0
19
1
갑자기 채점 사이트가 바뀌었어요
0
19
1
문제 리스트 페이지
0
22
1
채점 사이트 관련 질문드립니다
0
20
1
봉우리 문제 질문입니다
0
78
2
씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?
0
62
0
이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?
0
70
0
가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법
0
67
1
좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ
0
83
2
6-7 강의에서
0
47
1
6-6. 장난꾸러기 질문 있습니다.
0
43
1
강의 수강후 코딩테스트
0
106
1
answer 변수 사용 여부
0
43
1
2중 for문
1
83
2
2-11. 임시반장정하기 (Runtime Error)
0
62
1
혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?
0
68
1
이런 풀이는 어떨까요
0
42
1
자바 스트림 방식의 효율성 질문 드립니다.
0
55
1
알고리즘 자료 구조들..
0
60
1
StringBuilder vs BufferdWriter
0
47
1
원더랜드(프림)
0
47
1
이런 코드는 어떤가요?
0
59
1
bfs 풀이
0
55
1
병합정렬
0
55
1

