inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

5-X

반례를 찾지 못하겠습니다.

해결된 질문

231

Maruche

작성한 질문수 14

0

http://boj.kr/6258c1ff85134915a0cdfa47b6c7266f

우선 저도 dfs 형식으로 cctv의 개수만큼 0000부터 3333까지 방향을 바꿔가면서 모든 경우를 탐색하는 완탐을 구현했습니다.

다만 다른 부분이 있다면, 비트 마스킹을 활용했다는 점과 전역변수 사용을 하지 않았기에 원복을 딱히 시키지 않았다 인데, 시간초과도 아닌 틀렸습니다가 나옵니다.ㅠㅠ

조언 주시면 감사하겠습니다.

c++ 코딩-테스트

답변 1

1

큰돌

안녕하세요 Maruche님 ㅎㅎ

코드 잘 짜셨네요 ㅎㅎ

            for (int d=0; d<dir; ++d)
            {
                type = type << 1;
                if (type & 0B10000){
                    type |= 0B0001;
                    type &= ~(1<<5);
                }
            }

특히 이부분이 예술이네요.

원래 비트연산 기반으로 할 때 << 를 쓸 때 주의할 점은 해당 연산을 계속할 경우 오버플로가 발생하기 때문에 그걸 적절히 막아주는게 필요함 + 해당 부분을 기반으로 돌리는 부분.. 훌륭합니다.

 

제가 답변을 이렇게 늦게 드린 이유는 2일동안 디버깅도 해보고.. 이 코드 기반으로 풀려고 시간도 많이 들이고 반례도 만들어서 넣어보는 노력을 하다가 그랬는데요.

 

저또한 반례를 못찾는 것 같습니다.

도움이 못되어서 죄송합니다....

 

감사합니다.

0

Maruche

앗 칭찬 감사합니다.. 엄밀히 따지자면 저 type은 지역변수라 dir이 최대 4인 만큼 int형에서 오버플로우가 날 이유는 없어보이지만 그래도 혹여나 싶어서 넣어본건데 원인은 아니었던 것 같네요ㅋㅋ

항상 답이 없는(?) 어려운 질문 드려도 받아주셔서 제가 더 감사합니다! 마냥 잘못된 방법이 아니었다고 확인만 받아도 큰 도움이 되네요. 감사합니다!

채점서버 연결 관련 질문입니다

0

29

1

삼성 s직군

0

26

0

삼성 코테 없어짐

0

76

1

코딩살구클럽 가입부탁드립니다

0

39

2

코딩살구클럽 가입 요청 확인부탁드립니다

0

34

2

5-S 테스트 케이스 질문

0

37

2

코살 문제풀이 환경

0

53

2

2 - T 오큰수 문제가 있는 것 같습니다.

0

45

1

추천 추가문제들

0

44

2

프로그래머스 코테 환경 관련해서 질문드립니다.

0

50

2

해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.

0

44

2

균형 이진 트리 설명 시 높이 숫자

0

33

2

4-H 질문드립니다.

0

37

2

1-K 질문드립니다.

0

43

2

대기업 인적성 시험 질문

0

43

2

4-C 질문드립니다

0

43

2

[수학숙제 / BOJ 2870] 채점 서버 오작동

0

40

1

코테 준비 질문

0

58

1

살구클럽가입 요청드려요

0

42

2

1-I 문제 질문

0

46

2

코딩살구클럽 가입

0

61

2

AI 코딩 도구 사용 시 학습 방법 조언

0

56

2

코딩살구클럽 오류

0

67

2

코살클 [3-F 괄호 추가하기] 프라이빗 9번 제보

0

52

1