[구현, 시뮬레이션] 톱니바퀴 - 백준 14891번

최대 1 분 소요

14891번: 톱니바퀴

image

문제 풀이

  1. 양쪽 바퀴가 있는지 유무 확인 && 맞닿는 극이 다른지 확인
    • 오른쪽에 있는 바퀴의 맞닿는 극이 다르다 ⇒ 오른쪽 바퀴가 없을 때까지 계속 재귀
    • 왼쪽에 있는 바퀴의 맞닿는 극이 다르다 ⇒ 왼쪽 바퀴가 없을 때까지 계속 재귀
  2. 바퀴가 돌아감에 따라 번호 switch (시계방향, 반시계방향)

실수

image 1

예제 입력의 톱니바퀴 상태를 나타내는 첫째줄에서 넷째줄의 번호들이 다 붙어있음

처음엔 cin >> vec[i][j] 으로 번호 하나당 입력받았는데 10101111를 한 정수로 인식됨

⇒ string으로 받아 한 단어씩 숫자로 변환

for(int i=0;i<4;i++) {
    string s;
    cin >> s;
    for(int j=0;j<8;j++) {
        vec[i][j] = s[j] - '0';
    }
}

코드

https://github.com/KimGyeongLock/CodingTest/blob/main/14891.cpp

카테고리:

업데이트: