본문 바로가기
반응형

알고리즘250

[백준][Python] 20291번 파일 정리 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 코드 n = int(input()) dic = {} for _ in range(n): file = input().split('.')[1] if file in dic: dic[file] += 1 else: dic[file] = 1 s_dic = sorted(dic.items()) for i in s_dic: print(i[0],i[1]) 설명 입력 받은 파일 이름을 ' . ' 을 기준으로 나눠서 뒷 부분만 사용했다. 딕셔너리를 만들어서 딕셔너리에 이미 존재하는 확장자이면 .. 2022. 6. 29.
[백준][Python] 9342번 염색체 9342번: 염색체 상근이는 생명과학 연구소에서 염색체가 특정한 패턴인지를 확인하는 일을 하고 있다. 염색체는 알파벳 대문자 (A, B, C, ..., Z)로만 이루어진 문자열이다. 상근이는 각 염색체가 다음과 같은 규칙 www.acmicpc.net 코드 import re t = int(input()) a = re.compile('^[A-F]?A+F+C+[A-F]?$') for _ in range(t): test = input() if a.match(test)==None: print('Good') else: print('Infected!') 설명 정규표현식 사용을 위해 re 모듈을 사용했다. ^ 해당 패턴으로 시작 ? 해당 패턴을 0번또는 1번 $ 해당 패턴으로 끝 + 해당 패턴이 하나 이상 match(.. 2022. 6. 28.
[백준][Python]6550번 부분 문자열 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net 코드 import sys while(1): test = sys.stdin.readline().rstrip() if not test: break s,t = test.split() cnt = 0 ans = 0 for i in range(len(t)): if s[cnt] == t[i]: cnt += 1 if cnt == len(s): ans = 1 break if ans == 1: print("Yes") else: print("No") 처음에 입력값을 input()으로 받.. 2022. 6. 28.
[백준][Python] 4659번 비밀번호 발음하기 4659번: 비밀번호 발음하기 좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtp www.acmicpc.net 코드 import sys vowel = {'a','e','i','o','u'} while (1): test = sys.stdin.readline().rstrip() if test == 'end': break pw = list(test) v_flag = 0 # 모음 존재하는지 확인 v_cnt = 0 # 모음 3개 연속인지 확인 c_cnt = 0 # 자음 3개 연속인지 확인 err = 0 # 같은 문자 연속 2개 or 자음/모음 연속 3개인 경우 1 for i.. 2022. 6. 27.
반응형