본문 바로가기

분류 전체보기

(256)
파이썬) 임스와 함께하는 미니게임 https://www.acmicpc.net/problem/25757 dic = {} user_input = input() n, m = user_input.split() n = int(n) for _ in range(n): s = input() if s not in dic: dic[s] = 1 cnt = 0 if m == 'Y': cnt = 1 elif m == 'F': cnt = 2 else: cnt = 3 arr = list(dic.keys()) print(len(arr) // cnt) 해당 문제는 셋 또는 딕셔너리를 사용하면 되는데, 나는 좀 더 익숙한 딕셔너리를 사용했다.
파이썬) 비밀번호 발음하기 - BOJ https://www.acmicpc.net/problem/4659 4659번: 비밀번호 발음하기 좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtp www.acmicpc.net while True: st = input() if st == 'end': break q = [] aeiou = 'aeiou' others = 'bcdfghjkmnlpqrstvwxyz' is_aeiou = False is_accept = False for i in st: if i in aeiou: is_aeiou = True if len(q) == 0: q.append(i) else: f = ..
파이썬) 돌 게임 - BOJ https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net n = int(input()) if n % 2 == 0: print("CY") else: print("SK") 사실 n이 4부터 8까지 혹은 그 이전까지만 생각해봐도 답은 금방 나온다 조금 단순하게 생각해보자 n이 4일때 상근이가 한개 또는 세개를 가져면 나머지는 3개 이하므로 상근이가 무조건 패배한다 반면 n이 5일땐 상근이가 하나만 가져가면 상근이가 이긴다. 즉, 먼저 가져가는 사람이 이긴다 n이 6일땐 상근이가 3개를 가져가면 3개가 남아 패배하고, 1개를 가져가면 이 5 이므로 5부터 먼저 가져 갈 창영이가 우..
파이썬) 단어 공부 -BOJ https://www.acmicpc.net/problem/1157 dic = {} # 'a'부터 'z'까지의 알파벳을 순회하며 딕셔너리에 키를 추가하고 값을 0으로 초기화합니다. for char in 'abcdefghijklmnopqrstuvwxyz': dic[char] = 0 st = input() # 소문자 st = st.lower() for s in st: dic[s] += 1 sorted_dict = dict(sorted(dic.items(), key=lambda item: item[1], reverse=True)) # 딕셔너리 첫번째의 키 값 얻기 first_key, first_value = list(sorted_dict.items())[0] # 두 번째 키와 밸류 얻기 second_key, s..
파이썬) 벌집 - BOJ https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 풀이 ..
파이썬) 삼각형과 세 변 - BOJ https://www.acmicpc.net/problem/5073 while True: a, b, c = map(int, input().split()) if a == b == c == 0: break # (sum(a,b,c) - max(a,b,c) - min(a,b,c))은 mid값 if sum([a, b, c]) - max([a, b, c])
파이썬) ZOAC 4 - BOJ https://www.acmicpc.net/problem/23971 23971번: ZOAC 4 i행 j열 자리를 (i, j)라고 할 때, (1,1)에 참가자가 앉은 경우 다른 참가자는 (1,2), (2,1), (2,2) 자리를 제외한 나머지 자리에 앉을 수 있다. (2,2)의 경우는 (1,1)과 행 번호 및 열 번호의 차가 1보다 크 www.acmicpc.net 이 문제는 프로그래머스 "거리두기 확인하기"와 상당히 비슷하다 https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. pr..
파이썬)연구소2 -BOJ from itertools import combinations from collections import deque from copy import deepcopy import sys input = sys.stdin.readline n, m = map(int, input().split()) arr = [] vi = [] for i in range(n): l = list(map(int, input().split())) arr.append(l) for j in range(len(l)): if l[j] == 2: vi.append([i, j]) result = float('inf') dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] def bfs(vir): q = deque() cnt = 0 ..