백준 11652번 : 카드 (Python)
출처 : https://www.acmicpc.net/problem/11652 from collections import Counter n = int(input()) nums = [] for i in range(n) : nums.append(int(input())) nums.sort() print(list(Counter(nums).most_common())[0][0]) 파이썬 내장 라이브러리 collections의 Counter() 명령어는, 주어진 배열의 항목별 개수를 딕셔너리와 유사한 Counter라는 클래스로 변환해준다. x = [1, 1, 1, 2, 2, 0, 0, 0] y = Counter(x) y # 출력 Counter({1: 3, 2: 2, 0: 3}) 또한 Counter.most_common..
2022. 11. 1.
백준 1740번 : 거듭제곱 (Python)
https://www.acmicpc.net/problem/1740 n = int(input()) print(int(bin(n)[2:], 3)) 한 개 이상의 서로 다른 3의 제곱수의 합으로 표현되는 숫자들을(1, 3, 4, 9, 10, 12, 13 ... ) 3진법으로 써보면 1, 10, 11, 100, 110, 111 .... 이런 형태가 된다. '서로 다른' 3의 제곱수를 합해야하므로 자릿수는 2가 될 수 없다. 그런데 이 수열은 곧 1부터의 자연수를 2진법으로 나타냈을 때와 모양이 같다. 즉, 주어진 조건을 만족하는 n번째로 작은 수는 n을 2진법으로 변환하고 그 값을 3진수로 간주해 10진법으로 변환한 값이다. (ex 5번째로 작은 수 -> 5를 2진법으로 변환 = 101 -> 3진수 101을 1..
2022. 10. 26.