본문 바로가기

부트캠프18

프로그래머스 시저 암호 (Python) 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12926 def solution(s, n) : upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" lower = upper.lower() answer = "" for i in s : if i.isupper() == True : answer = "".join((answer, upper[(upper.index(i) + n) % 26])) elif i.islower() == True : answer = "".join((answer, lower[(lower.index(i) + n) % 26])) elif i == " " : answer = "".join((answer, " ")) re.. 2022. 11. 1.
백준 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.
백준 1268번 : 임시 반장 정하기 (Python) 출처 : https://www.acmicpc.net/problem/1268 n = int(input()) stu = [] for i in range(n) : stu.append(list(map(int, input().split()))) same = [0] * n for i in range(n-1) : already = [] for j in range(5) : for k in range(i+1, n) : if stu[i][j] == stu[k][j] : if k not in already : same[i] += 1 same[k] += 1 already.append(k) else : pass sol = same.index(max(same)) + 1 print(sol) 먼저 학생들의 정보를 저장할 빈 리스트 .. 2022. 10. 24.