inflearn logo
강의

講義

知識共有

Do it! アルゴリズムコーディングテスト with C++

알고리즘 코딩테스트 문제풀이 강의 - 9 DNA 비밀번호 (백준 12891)

解決済みの質問

573

xoguszz1238739

投稿した質問数 3

1

안녕하세요. C++ 강의를 보고 있는데 궁금한게 있어서 질문 드립니다. Add 함수에 myArr[0]++; 와 Remove 함수에 myArr[0]--; 이해가 안갑니다.

그리고 슬라이딩 윈도우 처리부분에 int j = i - P; 이 부분에 대해서 자세히 설명 부탁드립니다. i,P랑 같은 값인데 빼면 0이고 그 다음은 i 값이 증가해서 음수가 되는데 어떻게 처리가 되는 부분인지 이해가 안갑니다.

c++ 코딩-테스트 알고리즘

回答 1

0

harucoding

안녕하세요. 유튜브에 댓글을 달아 놓았는데 혹시 못 보셨을 수도 있을 것 같아 댓글 내용으로 답변을 대신합니다. ^^ 즐거운 하루 되세요 :)

해당 문제에서 DNS 문자열은 A C G T 라고 하였습니다. 여기에서 myArr[0]은 A의 개수가 현재 부분문자열에서 몇개인지 저장하는 곳입니다. 때문에 myArr[0]++은 현재 부분문자열에 A라는 값이 1개 더 추가되었으니 myArr[0]의 값을 1 증가시키세요 라는 뜻입니다. 반대로 myArr[0]--는 현재 부분문자열에 A라는 값이 1개 빠졌으니 myArr[0]의 값을 하나 감소 시키세요 라는 뜻입니다. int j= i - P 부분은 최초 i는 for문에서 P이기 때문에 j = 0, i = P가 됩니다. 즉 j는 윈도우가 이동하면서 제거되는 위치, i는 새롭게 들어오는 위치가 되는 것입니다. i값이 증가하게 되면 j의 값은 i - P 이기 때문에 음수가 되는 것이 아니고 1씩 증가하게 됩니다. i = P , j = 0 i = P + 1 , j = 1 i = P + 2, j = 2 이렇게 오른쪽으로 이동하는 느낌이 된다고 생각해주시면 좋을 것 같습니다. 도움이 되셨으면 좋겠습니다. 감사합니다. 즐거운 하루되세요 :)

수강평 이벤트

0

17

2

Reticle이 안나옵니다.

0

10

1

진행 방법 질문드립니다!

0

30

2

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

0

19

1

Singleton 관련 질문입니다.

1

31

2

갑자기 채점 사이트가 바뀌었어요

0

19

1

42. [세그먼트 트리 실전 문제] 구간 합 구하기3 (백준 2042)

0

64

1

10986번 질문 있습니다!

0

45

0

LCA 빠르게 찾기 - 트리의 높이에 따른 k값 질문

0

120

0

백준 1377 질문있습니다

0

218

1

백준 1722 교재 81 질문

0

331

1

백준11505, 교재 73번

0

282

1

백주 1456번

0

200

1

백준 1325, 교재 47번 문제 질문입니다.

0

358

1

백준 11404 플로이드 문제 질문있습니다.

0

260

1

문제 85번 질문드립니다

0

322

1

백준 13023 질문있습니다.

0

205

1

문제 8번 질문드립니

0

306

1

백준 1876여행 유니온 파인드 질문있습니다.

0

241

1

백준 2251 C++ 질문 있습니다.

0

398

2

퀵정렬 질문

3

292

1

i==k일떄 i++안해도되지않나요

0

437

1

알고리즘 코딩테스트 문제풀이 강의 - 14 절댓값 힙 구현하기 (백준 11286)

0

550

1

C++은 실전문제에 대한 강의가 없나요? 자바나 파이썬은 있는데 없는거 같아서요.

2

592

2