inflearn logo
강의

Course

Instructor

Introduction to Java Algorithm Problem Solving: Coding Test Preparation

10. Character Distance

거리를 0

351

issiscv462218

27 asked

3

안녕하세요 선생님. 거리를 1000으로 두는 이유가 궁금합니다. 거리 값을 1000으로 두어도 타겟 문자를 만나면 0으로 초기화 되는데 왜 0이 아닌 큰 값으로 설정을 하신건가요.

거리 java 코테 준비 같이 해요!

Answer 2

3

codingcamp

안녕하세요^^

입력된 문자열이 ADBCDEFD 이고 타겟문자가 D라 할 때

각 문자가 왼쪽에 있는 타겟문자로 부터 거리를 구할 때 첫 번째 문자 A는 왼쪽에 D가 없기때문에 거리를 큰 숫자로 해놓습니다.

그 다음 오른쪽에 있는 타겟문자로 부터 거리를 구하면 첫 번째 문자 A는 거리가 1입니다. 

왼쪽의 거리와 오른쪽의 거리 중 작은 값을 A의 거리로 하기 때문에 거리는 1이 선택됩니다.

A문자처럼 왼쪽이나 오른쪽에 타겟문자가 없을 경우 거리를 큰 숫자로 해야 반대방향의 거리가 작은 값이 되어 선택되게 됩니다. 그래서 p=1000으로 넉넉하게 잡습니다. 입력되는 문자열의 길이가 100을 넘지 않기 때문에 1000이면 넉넉하게 큽니다.

1

leese

안녕하세요! 저는 이 부분이 계속 이해가 잘 안가서요 ㅠㅠ

P=0 으로 두어도
ADBCDEFD D 인 경우

A가 대상값이 아니기 때문에 1로 처음부터 들어가고 반대방향으로 올 때도 D 다음으로 와서 다시 1 이 되면 작지 않아서 값이 변경되진 않지만 기존 1도 맞는 값이라서 
맞는게 아닌가요?

ADBCDEFD D 에서 

P=0 으로 두면 1 0 1 1 0 1 1 0  가 나오는데 답이 아닌가요?

5

zmdals

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 이런식으로 바꿔서 해보시면 이해가실꺼같습니다. 저도 이해하느라 오래걸렸어요 ㅠ

1

issiscv462218

초기 거리를 -1 로 생각을 해보니 이제야 이해가 갑니다. 감사합니다.

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

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