본문 바로가기

Algorithm/파이썬3

[Python][구현] 백준 14890번 (경사로) 요구능력 구현 문제풀이 이 문제는 길에다 경사로를 만들고 길을 통과할 수 있는지를 묻는 문제이다. 구현을 깔끔하게 짜려면 큰 조건 -> 작은 조건을 잘 구상해야하는것 같다. 내 생각의 흐름대로 정리해보면 내가 하나의 길에서 출발한다고 생각해보자. 그럼 다음번 칸 갈 수 있느냐 없느냐가 이 문제의 관건이다. 조건을 다 읽어보면 다음번 칸을 갈 때 칸의 높이가 같으면 그냥 지나갈 수 있다. 하지만, 칸의 높이가 다르다면 그냥 지나갈 수 없다. 이 때, 생각할 수 있는게 칸의 높이가 계속 같으면 그 길은 통과가 된다는 것이다. 그렇다면 따로 처리해줄 것은 없는것이다. 하지만 만약, 현재 칸의 높이와 다음번 칸의 높이가 다를경우에는 칸의 차이가 1이어야하고 그 이외의 경우에는 다음 칸을 진행할 수 없다. if .. 2022. 3. 30.
[Python][구현] 백준 14499번 (주사위 굴리기) 요구능력 문제이해 및 구현 문제풀이 코드가 두서없이 복잡하지만 빡구현의 증거이니 이해부탁드립니다.. 문제를 이해하고 보면 주사위는 4 * 3의 배열로 이루어져 있다는 것을 알 수 있다. 주사위는 아래와 같은 모양으로 생각하고 풀었다. 주사위의 모양을 계속 이 모양을 유지하면서 풀었는데, 모양을 바꾼다면 엄청 복잡해질것이다. 모양을 유지한다는 것은 주사위가 굴러가더라도 주사위의 아래는 계속해서 dice[3][1]을 유지한것이다. for문을 통해서 명령을 하나씩 돌리면서, 북쪽으로 이동하면 주사위를 북쪽방향으로 굴리기 때문에 아래 -> 앞 -> 위 -> 뒤로 주사위의 배열순서를 바꿔주었다. 남쪽으로 이동하면 주사위를 남쪽방향으로 굴리기 때문에 뒤 -> 위 -> 앞 -> 아래로 주사위의 배열순서를 바꿔주었다... 2022. 3. 29.
[Python] 백준 2884번 (알람 시계) 문제 https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 풀이방법 이 문제의 경우 조건문을 활용할 수 있는지를 테스트해보는 문제이다. 시간이 0일때, 분이 45분보다 작은경우 45분을 빼면 시간은 23시로 가야하기 때문에 분이 45보다 작을때, 시간이 0이면 시간을 24로 바꿔주었다. 그리고 시간에 60을 곱함으로써 시간도 분으로 바꿔서 계산한것이다. 그렇게 전체 분에서 45를 빼고 다시 시간 분으로 바꿔주면 문제는 끝난다. 코드 h, m = map(int.. 2022. 2. 5.