[백준] #10817 세 수 python https://www.acmicpc.net/problem/10817 10817번: 세 수 첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100) www.acmicpc.net 📕 설명 📕 세 수를 리스트에 넣고 정렬한 후 1번째 인덱스인 중앙 값을 출력한다. 🧑🏻💻 나의 풀이 🧑🏻💻 print(sorted(list(map(int, input().split())))[1]) Programming/Algorithm 2023.01.31
[백준] #5355 화성 수학 python https://www.acmicpc.net/problem/5355 5355번: 화성 수학 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산 www.acmicpc.net 📕 설명 📕 세 가지 경우의 수에 대해 간단하게 처리할 수 있다. 🧑🏻💻 나의 풀이 🧑🏻💻 N = int(input()) for i in range(N): N_list = list(map(str, input().split())) num = float(N_list[0]) for j in N_list[1:]: if j == "@": num *= 3 elif j == "%": .. Programming/Algorithm 2023.01.30
[백준] #2530 인공지능 시계 python https://www.acmicpc.net/problem/2530 2530번: 인공지능 시계 첫째 줄에 종료되는 시각의 시, 분, 초을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수이며, 분, 초는 0부터 59까지의 정수이다. 디지털 시계는 23시 59분 59초에서 1초가 지나면 0시 0 www.acmicpc.net 📕 설명 📕 초, 분, 시 단계로 예외처리를 하나씩 반영하여 처리했다. 🧑🏻💻 나의 풀이 🧑🏻💻 h, m, s = map(int, input().split()) plus = int(input()) s += plus % 60 plus //= 60 if s >= 60: tmp = s // 60 s -= 60 * tmp m += tmp m += plus plus //= 60.. Programming/Algorithm 2023.01.29
[백준] #1264 모음의 개수 python https://www.acmicpc.net/problem/1264 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net 📕 설명 📕 1. 모든 알파벳을 다 받는다. 2. 모음일 경우의 개수를 lower()를 이용해 다 비교하여 개수를 받는다. 🧑🏻💻 나의 풀이 🧑🏻💻 from collections import Counter li = [] while True: tmp = input() if tmp == "#": break for i in tmp.split(): for j in i: li.ap.. Programming/Algorithm 2023.01.28
[백준] #1568 새 python https://www.acmicpc.net/problem/1568 1568번: 새 N마리의 새가 나무에 앉아있고, 자연수를 배우기 원한다. 새들은 1부터 모든 자연수를 오름차순으로 노래한다. 어떤 숫자 K를 노래할 때, K마리의 새가 나무에서 하늘을 향해 날아간다. 만약, 현 www.acmicpc.net 📕 설명 📕 1. 새의 개수를 오름차순으로 뺀다. 2. 빼려는 수보다 새의 수가 적으면 1부터 다시 뺀다. 🧑🏻💻 나의 풀이 🧑🏻💻 N = int(input()) cnt = 1 result = 0 while N > 0: if N < cnt: cnt = 1 N -= cnt cnt += 1 result += 1 print(result) Programming/Algorithm 2023.01.27
[백준] #9610 사분면 python https://www.acmicpc.net/problem/9610 9610번: 사분면 2차원 좌표 상의 여러 점의 좌표 (x,y)가 주어졌을 때, 각 사분면과 축에 점이 몇 개 있는지 구하는 프로그램을 작성하시오. www.acmicpc.net 📕 설명 📕 5가지의 경우로 제1사분면, 제2사분면, 제3사분면, 제4사분면, 축으로 나눠 풀이하였다. 🧑🏻💻 나의 풀이 🧑🏻💻 N = int(input()) Q1 = 0 Q2 = 0 Q3 = 0 Q4 = 0 AX = 0 for _ in range(N): a,b = map(int,input().split()) if a > 0 and b > 0: Q1+=1 elif a 0: Q2 += 1 elif a < 0 and b < 0: Q3 += 1 .. Programming/Algorithm 2023.01.26
[백준] #1547 공 python https://www.acmicpc.net/problem/1547 1547번: 공 첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것 www.acmicpc.net 📕 설명 📕 공이 바뀐 위치를 계속해서 저장하여 출력한다. 🧑🏻💻 나의 풀이 🧑🏻💻 M = int(input()) tmp = 1 for i in range(M): a, b = map(int,input().split()) if tmp == a: tmp = b elif tmp == b: tmp = a print(tmp) Programming/Algorithm 2023.01.26
[백준] #1371 가장 많은 글자 python https://www.acmicpc.net/problem/1371 1371번: 가장 많은 글자 첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이 www.acmicpc.net 📕 설명 📕 Python의 library인 Counter를 이용하여 글자를 세어 list에 넣는다. 정렬된 List를 하나씩 출력한다. 🧑🏻💻 나의 풀이 🧑🏻💻 from collections import Counter li = [] while True: try: tmp = input().split() for i in tmp: for j in i: li.append(j) except: b.. Programming/Algorithm 2023.01.25
[백준] #10819 차이를 최대로 python https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 📕 설명 📕 Brute-Force로 permutations python library로 list에서 모두 꺼내와서 접근하였다. 🧑🏻💻 나의 풀이 🧑🏻💻 from itertools import permutations N = int(input()) N_list = list(map(int ,input().split())) result = 0 for i in permutations(N_list): total = 0.. Programming/Algorithm 2023.01.24
[백준] #2501 약수 구하기 python https://www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net 📕 설명 📕 약수가 나올 때마다 list에 저장하여 개수를 세어 계산한다. result의 개수에 따라 2가지의 결과로 나누어 결과를 낸다. 🧑🏻💻 나의 풀이 🧑🏻💻 A, B = map(int, input().split()) result = [] cnt = 0 for i in range(1,A+1): if A % i == 0: cnt += 1 result.append(i) if len(result) < B: print(0) else: print(result[B - 1]) Programming/Algorithm 2023.01.23