inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Nhập môn giải bài toán bằng thuật toán cho việc làm CNTT (với C/C++): Luyện thi viết mã

43. Video nhạc (ứng dụng tìm kiếm nhị phân: thuật toán quyết định)

포문 시작점

264

tlguszz10

9 câu hỏi đã được viết

0

선생님 42번문제에서는 입력받을때 i=0부터 받으셨는데 43번 이 문제에서는 왜 i=1부터 받으시나요 이런것들 명확하게 알려주시면 감사하겠습니다 너무 헷갈려서요,, 문제에서 확인해봤는데 0이나 1이나 차이가 없는데 어떤문제에서는 인덱스를 0부터 돌리시고 어떤문제에서는 1부터 돌리시는데 답변좀 해주세요 ㅠㅠ

코테 준비 같이 해요! C++

Câu trả lời 1

0

RON

0부터 돌리냐 1부터 돌리냐가 중요한 것은 아니고 배열의 어디부분부터 쓸 것인가가 중요합니다.

만일 10개의 데이터를 입력하고 그 중에 n번째를 나타내야하는 문제가 있다면,

arr[10] 이라는 배열이 있으면 [0]부터 [9]까지 사용가능하고 갯수는 10칸입니다. 그 중 7번째의 데이터를 출력하려면 [7]이 아니고 [6]을 해야합니다. 배열은 [0]부터 첫번째 이니까요. 그러므로 arr[n-1]이 되겠죠.

근데 보통 문제에 n번째의 위치를 가리키는 문제가 많기때문에, 애초에 arr[11]를 만들어서 [0]번째 인덱스는 버리고 

[1]부터 [10]까지 10개를 사용하는 겁니다. 이러면 7번째 데이터 출력할 때 그냥 [7] 입력하면 됩니다.

이렇게 사용하면 n번째의 위치를 나타낼때,  바로 [n]를 보내면 나오니 직관성이 쉬워지는 장점이 있지만,  [0]번째 라는 한 칸을 버리게 되므로 메모리가 낭비 됩니다. 하지만 이런 코딩테스트에서는 문제 없습니다.

한마디로 0부터 시작하는거나 1부터 시작하는것은 아무런 의미가없습니다 중요한건 몇 번의 포문을 돌고 올바른 답을 내는가가 중요합니다.

 

테스트 케이스 질문

0

373

1

병합정렬 시간복잡도 질문

0

462

1

41.연속된 자연수의 합 문제풀이에서 수학적인 원리를 모르고 있습니다.

0

1345

2

질문드립니다.

0

376

1

질문드립니다!

0

430

1

dev 프로그램 질문

0

275

1

문제가 이해가 안되요

0

376

1

4번 나이차이 문제 접근법 질문 드립니다.

0

307

1

source file not compiled

0

1047

3

59번 질문드립니다.

0

372

1

25번 문제 질문

0

349

1

4. 나이차이 문제 질문입니다.

0

372

1

90번 라이언 킹 심바 1번 테스트 케이스

0

470

1

71번 문제 전역 변수 질문 있습니다

0

365

1

75번, 79번 priority_queue관련

1

356

1

75.최대 수입 스케줄

0

400

2

복면산 정답의 수

0

432

1

테스트 케이스에 대해서

0

445

1

수업 내용 질문입니다!

1

232

1

풀어보면 좋은 문제 목록 - 2580 스토쿠 DFS 질문입니다!!

0

822

2

12. 플로이드-와샬(그래프 최단거리) . 27:25초

0

255

1

다른 풀이 방식

0

317

1

크루스칼 vs 프림

0

306

1

숫자 총개수 small 질문있습니다.

0

243

1