본문 바로가기

백준681

[구현/수학] 백준 28702 FizzBuzz - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 28702번: FizzBuzz FizzBuzz 문제는 $i = 1, 2, \cdots$ 에 대해 다음 규칙에 따라 문자열을 한 줄에 하나씩 출력하는 문제입니다. $i$가 $3$의 배수이면서 $5$의 배수이면 “FizzBuzz”를 출력합니다. $i$가 $3$의 배수이지만 $5$ www.acmicpc.net 2. 문제 풀이 1) i가 3의 배수이면서 5의 배수이면 “FizzBuzz”를 출력합니다. 2) i가 3의 배수이지만 5의 배수가 아니면 “Fizz”를 출력합니다. 3) i가 3의 배수가 아니지만 5의 배수이면 “Buzz”를 출력합니다. 4) i가 3의 배수도 아니고 5의 배수도 아닌 경우 i를 그대로 출력합니다. 위 조건대로 분기해서 풀이합니다. 2023.. 2023. 8. 14.
[구현/수학] 백준 28444 HI-ARC=? - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 28444번: HI-ARC=? 첫째 줄에 각 문자에 들어갈 값 $H, I, A, R, C$ ($0 \leq H,I,A,R,C \leq 100$, $H,I,A,R,C$는 정수) 가 공백을 사이에 두고 순서대로 주어진다. www.acmicpc.net 2. 문제 풀이 A, B, C, D, E 5개의 수가 주어집니다. A*B - C*D*E 를 구합니다. 3. 코드 import sys input = sys.stdin.readline # 입력 h, i, a, r, c = map(int, input().split()) # 출력 print(h*i - a*r*c) 2023. 8. 14.
[구현/수학] 백준 28701 세제곱의 합 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 28701번: 세제곱의 합 $a$의 제곱은 $a$를 두 번 곱한 수로, $a^2$으로 표현합니다. $a^2 = a \times a$입니다. 또한, $a$의 세제곱은 $a$를 세 번 곱한 수로, $a^3$으로 표현합니다. $a^3 = a \times a \times a$ 입니다. www.acmicpc.net 2. 문제 풀이 1부터 N까지의 합과, 그 합을 제곱한 값과, 1부터 N을 각각 세제곱한 걸 더한 값을 구하는 문제입니다. 3. 코드 import sys input = sys.stdin.readline # 입력 n = int(input()) # 출력 single = 0 triple = 0 for i in range(1, n+1): single += i t.. 2023. 8. 14.
[자료구조/집합] 백준 11478 서로 다른 부분 문자열의 개수 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 2. 문제 풀이 주어진 문자열 S의 부분 문자열 개수를 구하는 문제입니다. 부분 문자열은 S의 연속된 일부분을 뜻합니다. 3. 코드 # 입력 S = input().rstrip() # 집합으로 구현 char_set = set() len_S = len(S) for i in range(0, len_S): for j in range(i, len_S): char_set.add(S[i:j+1]) print(len(char_set)) 여기서 주의해야할 점은 '중복 제외'입니다. 주어진 문자열이 a.. 2023. 8. 10.
[자료구조/스택] 백준 28278 스택 2 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 2. 문제 풀이 스택 자료구조를 구현하는 문제입니다. 2023.07.17 - [Algorithm] - [자료구조/스택] 백준 10828 스택 - 파이썬(Python) [자료구조/스택] 백준 10828 스택 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1.. 2023. 8. 10.
[구현/수학] 백준 1024 수열의 합 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1024번: 수열의 합 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. www.acmicpc.net 2. 문제 풀이 합이 N이면서, 길이가 L이상인 가장 짧은 연속된 자연수 리스트를 구해야 합니다. 3. 코드 # 입력 N, L = map(int, input().split()) # 탐색 for i in range(1, 500000001): res = 0 for j in range(i, i+100): res += j if res == N and j-i > L: for k in range(i, j+1): print(k, end=" ") exit() else:.. 2023. 8. 9.
[구현/수학] 백준 28431 양말 짝 맞추기 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 28431번: 양말 짝 맞추기 $6$이 쓰여 있는 양말 두 개를 한 짝으로, $8$이 쓰여있는 양말 두 개를 한 짝으로 만들면 $3$이 남습니다. www.acmicpc.net 2. 문제 풀이 동일한 숫자 2쌍과 또 다른 숫자가 주어집니다. (총 5개) 또 다른 숫자를 찾아 출력해야 합니다. 3. 코드 import sys input = sys.stdin.readline # 입력 lst = set() res = 0 for _ in range(5): a = int(input()) if a in lst: res -= a lst.discard(a) else: lst.add(a) res += a print(res) 파이썬의 집합 자료구조를 이용해서 없으면 추가하고, .. 2023. 8. 7.
[브루트포스/비둘기집 원리] 백준 20529 가장 가까운 세 사람의 심리적 거리 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 20529번: 가장 가까운 세 사람의 심리적 거리 각 테스트 케이스에 대한 답을 정수 형태로 한 줄에 하나씩 출력한다. www.acmicpc.net 2. 문제 풀이 N명의 mbti가 주어질 때, 세 사람의 mbti 심리적 거리의 최소값을 구하는 문제입니다. mbti의 심리적 거리는 단순히 다른 개수입니다. (entp와 intp의 심리적 거리는 1) 3. 코드 from itertools import combinations import sys input = sys.stdin.readline def mbti_dist(a, b): dist = 0 for i, j in zip(a, b): if i != j: dist += 1 return dist T = int(in.. 2023. 8. 4.
[탐색/BFS] 백준 21736 헌내기는 친구가 필요해 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 21736번: 헌내기는 친구가 필요해 2020년에 입학한 헌내기 도연이가 있다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 www.acmicpc.net 2. 문제 풀이 전형적인 BFS 문제입니다. 캠퍼스 내를 너비 우선 탐색해서 만날 수 있는 사람이 몇 명인지 찾아냅니다. 2022.02.23 - [Algorithm] - [Algorithm] 너비 우선 탐색(BFS), 가까운 주변부터 찾자 [Algorithm] 너비 우선 탐색(BFS), 가까운 주변부터 찾자 BFS는 가까운 주변부터 탐색하는 알고리즘입니다. 큐를 이용한 BFS 구현방법과 코드를 알아보겠습.. 2023. 8. 4.