728x90 반응형 백준243 [백준] 1735번 : 분수 합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 두 분수를 입력받아 그 합을 구하는 문제이다. 두 분수를 더했을 때, 그 결과를 기약분수로 구해야 한다. 기약분수는 더 이상 약분되지 않는 분수이므로 각 분자와 분모의 최대공약수를 구해 분자와 분모를 이로 나눠야 한다. 최대공약수는 유클리드 호제법을 활용하여 빠르게 구할 수 있는데, 유클리드 호제법이란 두 수를 서로 나누어 최대공약수를 구하는 방법이다. 유클리드 호제법은 "a % b = r이라고 할 때, a와 b의 최대공약수는 b와 r의 최대공약수와 같고, 이를 다시 b .. 2023. 11. 26. [백준] 13241번 : 최소공배수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 두 수의 최소공배수를 구하는 문제이다. 두 수의 최소공배수는 두 수의 공약수의 곱에 각 수를 두 수의 공약수의 곱으로 나눈 몫을 곱한 값이다. ex) 6, 8 → 공약수 = 2 → 2 × (6 / 2) × (8 / 2) → 24 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 최소공배수를 구할.. 2023. 11. 25. [백준] 11478번 : 서로 다른 부분 문자열의 개수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 문자열의 부분 문자열을 구하고 서로 다른 부분 문자열의 개수를 구하는 문제이다. 서로 다른 부분 문자열의 개수이므로 집합의 형태로 부분 문자열을 저장하면 된다. 하여 세트 자료형을 만들고 모든 부분 문자열을 세트에 추가한 뒤, 세트의 원소 개수를 출력하면 된다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 문자열을 입력받는다. S = sys.stdin.readline().rstrip() 서로 다은 부분 문자열을 저장할 세트를 생성한.. 2023. 11. 24. [백준] 1269번 : 대칭 차집합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 두 집합 A, B의 대칭 차집합 원소의 개수를 구하는 문제이다. 집합은 원소가 중복될 수 없기 때문에 집합의 연산을 수행할 때 set() 함수를 활용해 중복을 제거해 주고 연산을 수행한다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 두 집합의 원소 개수를 입력받는다. a, b = map(int, sys.stdin.readline().split()) 집합 .. 2023. 11. 23. [백준] 1764번 : 듣보잡 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 듣도 못한 사람과 보도 못한 사람의 이름을 각각 입력받아 듣도 보도 못한 사람을 찾아내는 문제이다. 딕셔너리를 생성하여 우선 듣도 못한 사람의 이름을 저장하고, 보도 못한 사람의 이름을 입력받아 듣도 못한 사람의 이름과 중복되는 이름인지 확인한다. 듣도 보도 못한 사람의 이름을 저장할 리스트를 생성하고 해당 이름이 듣도 보도 못한 사람이면 이름을 리스트에 추가한다. 최종 결과의 사람 수와 사전순으로 정렬한 결과를 출력.. 2023. 11. 22. [백준] 1620번 : 나는야 포켓몬 마스터 이다솜 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 포켓몬 도감을 저장하여 해당 문제가 나오면 도감에 있는 정보를 정확하게 맞추는 문제이다. 문제는 포켓몬의 이름과 번호, 두 가지 방식으로 나올 수 있으므로 딕셔너리 두 개를 사용해 각각 이름과 번호를 key로 하여 정보를 저장한다. 저장한 정보를 바탕으로 문제가 번호로 나왔을 경우와, 이름으로 나왔을 경우 각각 판단하여 해당 정보를 딕셔너리에서 찾아 출력한다. sys.stdin.readlin.. 2023. 11. 21. [백준] 7785번 : 회사에 있는 사람 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 사람별 출입 기록을 딕셔너리에 key와 value로 저장하고 이를 활용해 회사에 있는 사람의 이름을 저장하고 이를 사전의 역순으로 정렬하여 출력하면 된다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 기록된 출입 기록의 수를 입력받는다. n = int(sys.stdin.readline()) 출입 기록을 저장할 딕셔너리를 생.. 2023. 11. 20. [백준] 14425번 : 문자열 집합 - 파이썬(Pyton) - 우당탕탕 개발자 되기 프로젝트 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 집합 S에 있는 문자열을 입력받아 저장하고, 검사할 문자열을 입력받으며 집합 S에 포함되어 있는지 확인하는 문제이다. 집합 S에 있는 문자열을 딕셔너리에 저장하여 검사할 문자열을 입력받아 확인할 때 더 빠른 시간으로 확인한다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 집합 S의 문자열 개수와 검사해야 할 문자열 개수를 입력받는다.. 2023. 11. 19. [백준] 10815번 : 숫자 카드 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10815번: 숫자 카드첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,www.acmicpc.net 1. 문제 설명2. 풀이과정해당 문제는 입력받은 가지고 있는 숫자 카드의 정수를 리스트보다 빠른 딕셔너리에 저장하여 구별할 숫자 카드의 정수를 하나씩 불러와 가지고 있는지 비교한다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys가지고 있는 숫자 카드의 개수를 입력받는다. N = int(sys.stdin.readline())가지고 있는 숫자 카드에 적혀있는 정수를 입력받아 리스트로 .. 2023. 11. 18. [백준] 18870번 : 좌표 압축 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 " data-og-host="www.acmicpc.net" data-og-source-url="https://www.acmicpc.net/problem/18870" data-og-url="https://www.acmicpc.net/problem/18870" data-og-image="https://scrap.kakaocdn.net/dn/caeZrK/hyUypXbJGy/quqa4apMitLIbGLkYkKsn1/img.png?width=2834&height=1480&face=0_0_2834_1480"> 18870번: 좌표 압축수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려.. 2023. 11. 16. 이전 1 ··· 8 9 10 11 12 13 14 ··· 25 다음 728x90 반응형