inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3-H

3-H 질문합니다

261

Kouga

작성한 질문수 17

0

http://boj.kr/7b426c7a534b4d2fa7bc4a753d66c738

왜 틀렸다는건지 모르겠네요..

그리고 3-G에서는 수빈이와 동생의 위치가 같은 경우에 대해서 예외처리를 해주었는데

왜 3-H에서는 안하는건가요??

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

답변 1

0

큰돌

안녕하세요 ㅎㅎ

반례:

100000 1

이럴 때 답이 나오지 않습니다. 불필요한 로직 때문에 시간이 많이 걸린다는 의미인 것이죠.

이 로직 설명해주시겠어요?

		int temp = K;
		while (temp != N) {
			if (temp % 2 == 1) {
				for (int prev : {temp - 1, temp + 1}) {
					if (visited[prev] == visited[temp] - 1) {
						v.push_back(prev);
						temp = prev;
						break;
					}
				}
			}
			else {
				for (int prev : {temp - 1, temp + 1, temp / 2}) {
					if (visited[prev] == visited[temp] - 1) {
						v.push_back(prev);
						temp = prev;
						break;
					}
				}
			}

		}

감사합니다.

0

Kouga

수빈이가 이동하는 경우의 수가 -1 +1 *2인데

동생을 잡으면 그 지점에서부터 돌아간다면

+1 -1 /2가 되겠죠

그런데 2를 곱했다면 홀수가 나오진 않으니까

홀수인 경우에는 굳이 /2를 할 필요가 없다고 생각했어요.

그래서 홀짝 나누고 next를 구한것처럼 prev를 구한것입니다.

 

0

큰돌

네 근데 불필요한 로직인 것같고 이 때문에 출력이 제대로 되지 않는 것같습니다.

이런 trace문제는 이런식으로 하나의 배열을 만들어줘서 진행해주세요.

				zz[next] = now;

 

1-E질문입니다!

0

518

2

3-L 틀린 부분 피드백 부탁드립니다.

0

821

2

1-A문제 순열재귀함수 질문입니다.

0

384

1

1-A 일곱난쟁이문제입니다

0

456

1

문제 풀 때 방향성에 대해

0

800

1

맥에서 vs code로 실행 관련 질문입니다

0

523

1

17071번 메모리 초과

0

386

1

1-C질문입니다!

0

421

2

2-B BFS 시간초과질문

0

630

2

1-O 13번 라인

0

442

1

6-J 놀이공원 문제 질문

0

381

1

구현관련 질문

0

484

1

강의 교안

0

319

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

545

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

536

1

1-K

0

473

2

3-G번 질문있습니다.

1

473

3

3-C 실행 시간 질문드립니다.

0

493

1

4-A 문제 풀이 질문있습니다.

0

590

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

435

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

334

1

3-O go 함수 질문 드립니다.

1

447

2

4-A 출력 질문

0

305

1

1주차 1-O 질문드립니다

0

259

1