본문 바로가기
반응형

전체 글252

[백준][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.
[백준][Python] 16171번 나는 친구가 적다 (Small) 16171번: 나는 친구가 적다 (Small) 첫 번째 줄에는 알파벳 소문자, 대문자, 숫자로 이루어진 문자열 S가 주어진다. (1 ≤ |S| ≤ 100) 두 번째 줄에는 성민이가 찾고자 하는 알파벳 소문자, 대문자로만 이루어진 키워드 문자열 K가 주 www.acmicpc.net 코드 s = list(input()) k = input() word = [] for i in s: if i.isalpha(): word.append(i) word = ''.join(word) if k in word: print(1) else: print(0) 설명 입력값을 리스트로 받아서 만약 알파벳이면 word 리스트에 push를 해주었다. join 함수를 사용하여 word 리스트에 있는 문자들을 하나의 문자열로 만들었다. -.. 2022. 6. 27.
[백준][Python] 20053번 최소, 최대 2 20053번: 최소, 최대 2 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 import sys t = int(input()) for _ in range(t): n = int(input()) n_list = list(map(int,sys.stdin.readline().split())) print(min(n_list),max(n_list)) 2022. 6. 23.
[백준][Python] 5597번 과제 안 내신 분..? 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 코드 import sys student= [0] * 31 for _ in range(28): a = int(input()) student[a] = 1 for i in range(1,31): if student[i] == 0: print(i) 2022. 6. 23.
[백준][Python] 10798번 세로읽기 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 코드 n_list = [[0]*15 for i in range(5)] for i in range(5): a = list(input()) for j in range(len(a)): n_list[i][j] = a[j] for i in range(15): for j in range(5): if n_list[j][i] != 0: print(n_list[j][i],end='') 설명 문자열마다 길이가 다르게 주어질 수 있기 때문에 최대 길이인 15에 맞춰서 숫자 0.. 2022. 6. 22.
[백준][Python] 9046번 복호화 9046번: 복호화 입력의 T(1 ≤ T ≤ 20)는 테스트 케이스로, 입력 제일 상단에 주어진다. 각각의 테스트 케이스는 한 줄마다 소문자와 공백으로 이루어진 영어 문장이 주어진다. 이 문장의 길이는 적어도 1이상이 www.acmicpc.net 코드 import sys n = int(input()) for _ in range(n): dic = dict() n_list = list(sys.stdin.readline().rstrip()) for i in n_list: if i != " ": if i in dic: dic[i] += 1 else: dic[i] = 1 a = sorted(dic.values(), reverse=True) if (len(a)>1 and a[0] == a[1]) or len(a)=.. 2022. 6. 22.
[백준][Python] 21918번 전구 21918번: 전구 $N$개의 전구가 있고 맨 왼쪽에 있는 전구를 첫 번째라고 하자. 전구의 상태는 두 가지가 있으며 이를 숫자로 표현한다. $1$은 전구가 켜져 있는 상태를 의미하고, $0$은 전구가 꺼져 있는 상태를 www.acmicpc.net 코드 n, m = map(int,input().split()) bulb = [0] + list(map(int,input().split())) for _ in range(m): a,b,c = map(int, input().split()) if a == 1: bulb[b] = c elif a == 2: # 전구 상태 변경 for i in range(b,c+1): if bulb[i] == 0: bulb[i] = 1 elif bulb[i] == 1: bulb[i] =.. 2022. 6. 21.
[백준][Python] 14467번 소가 길을 건너간 이유 1 14467번: 소가 길을 건너간 이유 1 3번 소는 위치 1, 0, 1에서 관찰되었으므로 길을 최소 두 번 건넜음을 확인할 수 있다. 4번 소도 길을 한 번 건넜으며, 나머지 소는 길을 건넌 기록이 확인되지 않는다. www.acmicpc.net 코드 import sys n = int(input()) cnt = 0 cow = [-1] * 11 for _ in range(n): a,b = map(int,sys.stdin.readline().split()) if cow[a] == -1: cow[a] = b elif cow[a] != b: cow[a] = b cnt+=1 print(cnt) 설명 배열에 소의 현재 위치를 저장해놔서 주어진 소의 현재 위치가 전과 다르면 cnt를 1 증가시켜준다. 초기 값을 -1로.. 2022. 6. 21.
[백준][Python] 10844번 쉬운 계단 수 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 코드 n = int(input()) dp = [[0]*10 for _ in range(n+1)] for i in range(1,10): dp[1][i] = 1 for i in range(2, n+1): for j in range(10): if j == 0: dp[i][j] = dp[i-1][1] elif j == 9: dp[i][j] = dp[i-1][8] else: dp[i][j] = dp[i-1][j-1] + dp[i-1][j+1] print(sum(dp[n])%1000000000) 설명 n이 1일 때는 0을 제외한 1~9까지의 숫자가 올 수 있다. n이 2일 때는 앞의 숫.. 2022. 6. 20.
반응형