파이썬 404

[baekjoon] 백준 14426번(파이썬): 접두사 찾기

문제 14426번: 접두사 찾기 문자열 S의 접두사란 S의 가장 앞에서부터 부분 문자열을 의미한다. 예를 들어, S = "codeplus"의 접두사는 "code", "co", "codepl", "codeplus"가 있고, "plus", "s", "cude", "crud"는 접두사가 아니다. 총 N개의 문자 www.acmicpc.net 알고리즘 - 정렬을 통해 절대로 접두사가 될 수 없는 문자열을 제외하여 리스트를 새로 만든다. - 반복문을 통해 집합 s와 접두사가 될 수 있는 문자열을 비교한다. - 비교하는 과정에서도 접두사가 될 수 없는 문자열이 나올 경우 break를 통해 다음 문자열을 비교한다. 코드 import sys n, m = map(int, sys.stdin.readline().split()..

CodingTest/Baekjoon 2022.01.05

[baekjoon] 백준 1254번(파이썬): 팰린드롬 만들기

문제 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 알고리즘 - 반복문을 통해 문자열의 문자를 확인한다. - i번째로 시작한 문자열과 i번째로 시작한 문자열을 뒤에서부터 확인한 문자열을 비교한다. - 두 문자열이 같을 경우 i번째 이전에 문자들을 문자열 뒤에 추가하면 팰린드롬을 만들 수 있다. - 현재 문자열의 개수와 i번째 이전에 문자의 개수를 더해서 출력한다. 코드 import sys word = str(sys.stdin.readline().rstrip("\n")) # 반복문을 통해 문자를 확인 for i i..

CodingTest/Baekjoon 2022.01.04

[baekjoon] 백준 10430번(파이썬): 나머지

문제 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 알고리즘 - 세 개의 숫자를 입력받는다. - 문제의 조건에 맞게 출력한다. 코드 import sys A, B, C = map(int, sys.stdin.readline().split()) # 문제의 조건에 맞게 출력 print((A + B) % C) print(((A % C) + (B % C)) % C) print((A * B) % C,) print(((A % C) * (B % C)) % C) github GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법 내가 푼 코딩 테스트 문제와 해결법. Contribute to junja..

CodingTest/Baekjoon 2022.01.03

[baekjoon] 백준 4358번(파이썬): 생태학

문제 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 알고리즘 - 반복문을 통해 나무의 이름을 입력받는다. - 입력받은 나무가 없다면 반복문을 멈춘다. - 나무의 종류에 이미 나무가 있다면 카운트한다. - 나무의 종류에 나무가 없다면 나무를 추가한다. - 나무의 개수를 카운트한다. - 사전 순으로 정렬해주기 위해 나무의 종류를 리스트로 만든다., - 만든 리스트를 오름차순으로 정렬하여 사전 순으로 정렬한다. - 사전 순으로 정렬한 나무의 이름순으로 백분율을 계산해서 출력한다. 코드 import sy..

CodingTest/Baekjoon 2022.01.03

[baekjoon] 백준 15904번(파이썬): UCPC는 무엇의 약자일까?

문제 15904번: UCPC는 무엇의 약자일까? 첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 www.acmicpc.net 알고리즘 - 반복문과 조건문을 통해 입력받은 문자열에 UCPC가 있는지 확인한다. - 문자열에 UCPC가 있으면 문자열을 UCPC를 찾은 문자 이후에 리스트로 초기화한다. - 문자열에 UCPC가 없는 경우에는 "I hate UCPC"를 출력하고 종료시킨다.(exit() : 종료) - 종료가 안됐다면 문자열에 UCPC가 있는 것으로 "I love UCPC"를 출력한다. 코드 import sys word = str(sys.stdin.rea..

CodingTest/Baekjoon 2022.01.02

[baekjoon] 백준 14425번(파이썬): 문자열 집합

문제 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 알고리즘 - 반복문을 통해 m개의 문자열을 확인한다. - 집합 s에 m개의 문자열이 포함되어 있으면 카운트한다. - 카운트 한 값을 출력한다. 코드 import sys n, m = map(int, sys.stdin.readline().split()) s = [str(sys.stdin.readline()) for _ in range(n)] # 집합 s cnt = 0 # 반복문을 통해 m개의 문자열을 확인 for i in rang..

CodingTest/Baekjoon 2022.01.01

[baekjoon] 백준 1439번(파이썬): 뒤집기

문제 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 알고리즘 - 반복문을 통해 문자열을 확인한다. - 현재 문자와 다음 문자가 다르면 카운트를 한다. - 카운트 값에 + 1을 해준다. => 현재 문자와 다음 문자가 다를 경우의 수가 홀수인 경우 짝수로 만들어주기 위해서 - 카운트 값에 + 1을 해줬다면 나누기 2를 해줘 출력한다. => 0 또는 1만을 바꿔주면 되기 때문에 코드 import sys s = list(map(int, sys.stdin.readline().strip())) cnt = 0 # 반복문..

CodingTest/Baekjoon 2021.12.31

[baekjoon] 백준 1120번(파이썬): 문자열

문제 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net 알고리즘 - 두 문자열 길이의 차이만큼 반복하여 a의 문자열과 b의 문자열을 비교한다. - 비교하는 과정으로는 b의 인덱스를 +1 해주면서 a의 문자열과 비교한다. - 비교 과정에서 a의 문자와 b의 문자가 다르면 카운트해준다. - 가능한 비교를 모드 끝낸 후 다른 문자열 개수가 제일 작은 경우를 출력한다. 코드 import sys a, b = map(str, sys.stdin.readline().split()) re..

CodingTest/Baekjoon 2021.12.30

[baekjoon] 백준 2857번(파이썬): FBI

문제 2857번: FBI 5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. www.acmicpc.net 알고리즘 - 반복문을 통해 5명의 첩보원명을 확인한다. - 반복문과 조건문을 통해 FBI 요원을 찾는다. - FBI 요원을 찾으면 해당 번호를 리스트에 추가하고 반복을 멈춘다. - 모든 첩보원명을 확인했으면 FBI 요원의 유무에 따라 출력한다. 코드 import sys cnt = [] # FBI 요원의 번호 # 반복문을 통해 5명의 첩보원명을 확인 for i in range(5): word = list(map(str, sys.stdin.readline().strip())) # 반복문과 조건문을 통해 FBI 요원을 찾는다..

CodingTest/Baekjoon 2021.12.29