와쿠 와쿠! 와쿠컵 후기

와쿠컵에 참가했습니다. 에디토리얼은 여기서 볼 수 있습니다. 저는 총 15문제 중 3문제를 풀었고, 590명 중 245등을 기록했습니다.

27959

A, AC / 1 +1

밤고가 가지고 있는 금액은 N\times 100원입니다. 이 금액이 M보다 크거나 같은지 체크해서 그 결과를 출력하면 되는 간단한 문제입니다.

27960

B, AC / 1 +16

각 점수에 대해 최대 한 번씩 더해지기 때문에, A와 B 각각의 점수에서 512, 256, 128… 이렇게 모두 빼서 음수가 나오지 않으면, 그 값을 리스트에 더하고, 리스트에 해당 점수가 1번만 존재하는 경우 이를 모두 더한 값을 출력하도록 했습니다.

그런데 알고보니 bitwise XOR 연산으로 간단히 풀 수 있는 문제였습니다.

30개의 if else를 쓴 나는 무엇…

27964

F, AC / 1 +34

문자열이 Cheese로 끝나야 하고, 서로 다른(중복되지 않은) 치즈가 4개 이상 있어야 합니다.

저는 ‘서로 다른 네 종류의 치즈가’에 꽂혀, 파이썬의 set 자료형을 생각해냈습니다. set은 중복을 허용하지 않습니다. 중복된 것들은 그 중 하나만 살아남습니다.

일단 모든 입력을 set에 저장한 다음, set를 list로 바꾸고, 그 리스트의 마지막 6글자가 “Cheese”인지 검사하고, 그 개수가 4개 이상인지 확인했습니다. 결과적으로 코드가 조금 지저분해졌지만, 맞았으니 됐습니다.

27961

C, 시도하지 못함

이 문제는 대회 중에 풀지는 못했습니다. 대회 중에는 전혀 감이 오지 않았습니다.

아래 에디토리얼을 보고 오겠습니다.

간단하게 말하면, 고양이의 수 N이 2의 x-1승보다 크면서 2의 x승보다 작거나 같다면, 그 N이 답인 것입니다! 그래서 for문으로 2의 x승이 N보다 작거나 같은지를 반복해 검사했습니다.