반응형
https://www.acmicpc.net/problem/14499
삼성SW역량평가 시뮬레이션 문제.
코드가 어렵다기보다는 문제를 이해하는 게 고통스러웠다.
문제를 풀기 위해서는
1. 주사위라는 객체를 만들고, 여섯 면을 정의한다.
2. 주사위의 이동 = 주사위 각 면 값을 바꾸어준다
두 가지가 떠올라야 했다.
주사위가 이동할 경우 각 면에 해당하는 값이 바뀌는 건 python에서는 a, b = b, a 형태로 쉽게 해결할 수 있다.
주사위 이동을 표현한 python 식을 이해하는 법
ex) 주사위를 동쪽으로 이동시킨다
= 이전 주사위의 동쪽 면 -> 아랫면
= 이전 주사위의 윗면 -> 동쪽 면
= 이전 주사위의 아랫면 -> 서쪽 면
= 이전 주사위의 서쪽 면 -> 윗면
이렇게 되는데, Python 등식 기준으로 오른쪽 값 -> 해당 위치의 왼쪽 값으로 변화한다고 이해하면 된다.
dice.e, dice.b, dice.w, dice.t = dice.t, dice.e, dice.b, dice.w 라고 하면
dice.t 값이 dice.e로 (윗면 -> 동쪽 면), dice.e값이 dice.b로(동쪽 면 -> 아랫면) 바뀌는 것이다.
반응형
'프로그래밍 > 코딩테스트 문제풀이' 카테고리의 다른 글
[Python] 백준 14890. 경사로 (0) | 2019.11.24 |
---|---|
[Python] 프로그래머스. 등굣길 (Level 3) (0) | 2019.11.23 |
[Python] 프로그래머스. 2020 카카오 recruit - 괄호 변환 (Level 2) (0) | 2019.11.20 |
[Python] 백준 14888. 연산자 끼워넣기 (0) | 2019.11.19 |
[Python] 프로그래머스. 최고의 집합 (Level 3) (0) | 2019.11.18 |