알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_18115] 카드 놓기

hueco 2022. 10. 14.

 

📌 문제 링크: https://www.acmicpc.net/problem/18115

 

18115번: 카드 놓기

수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 제일 위의 카드 1장을 바닥에 내려놓는다.

www.acmicpc.net

 

내 풀이(Success) :

 

🧐 Review:

 카드의 초기 배열 상태를 구하기 위해서 설명된 규칙과 예시를 이용해 반대로 생각해야 되는 것이 포인트인 문제였다. 이 반대로 생각해야 된다는 아이디어를 떠올리는 것은 어렵지 않았으나, 문제의 예제 2번인 [1, 5, 2, 3, 4] 배열에 23321 순서를 적용해서 [1, 2, 3, 4, 5]를 만들었다면, 이것을 역 이용하기 위해서는 [1, 2, 3, 4, 5]에 23321 순서를 적용하는 것이 아니라 그 순서의 역(reverse)인 12332 순서를 적용해야만 했다. 하지만, 이 순서를 반대로 뒤집는 것을 빼고 코드를 작성해서 제출했더니 번번이 틀렸다. 계속 고민을 해보다가 하루가 지나갈 것 같아서 구글링을 통해 다른 사람의 풀이를 참고했고, 코드를 수정해서 문제를 해결할 수 있었다. 이 문제는 다음에 꼭 다시 풀어봐야겠다. 또, 안 풀리는 문제는 하루 종일 고민하지 말고 최대 1시간만 고민하고 아쉽더라도 빨리 답을 확인하자. 시간을 효율적으로 사용하자!

 

🚑️ 새로 알게 된 내용:

 deque나 list에 연속된 수열을 원소로 갖도록 초깃값을 설정할 때 매번 리스트 컴프리헨션을 이용했는데, 위의 첨부한 코드처럼 range() 함수만 이용해도 연속된 수열을 초깃값으로 갖도록 설정할 수 있다!

 
 

 

 

'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글

[BOJ_13414] 수강신청  (0) 2022.10.17
[BOJ_16935] 배열 돌리기 3  (0) 2022.10.15
[BOJ_10025] 게으른 백곰  (0) 2022.10.14
[BOJ_7795] 먹을 것인가 먹힐 것인가  (0) 2022.10.13
[BOJ_1940] 주몽  (0) 2022.10.12

댓글