본문 바로가기
728x90
반응형

백준243

[백준] 9012번 : 괄호 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 제일 위에 sys 라이브러리를 불러온다. import sys 전체 테스트 케이스 횟수를 입력받는다. T = int(sys.stdin.readline()) 테스트 케이스 횟수만큼 반복한다. 반복문의 변수가 필요 없을 땐 _를 사용할 수 있다. for _ in range(T) 판별할 문자열을 마지막 enter 입력을 제외하고 입력받는다. strin.. 2023. 7. 2.
[백준] 2292번 : 벌집 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 1. 문제 설명 2. 풀이과정 방 번호를 입력받는다. N = int(input()) 방의 최대 번호를 저장해 줄 변수를 선언하고 시작 값인 1로 초기화해 준다. num = 1 방의 개수를 저장해 줄 변수를 선언하고 초기화해 준다. count = 0 무한 반복문을 활용하여 원하는 시점에서 종료할 수 있도록 구현해 준다. while (True) 방의 최대 번호에 지나갈 방의 개수에 육각형의 6을 곱해준 값을 더한다. num += count * 6 벌집의 중앙에서 한 줄씩 넓.. 2023. 7. 2.
[백준] 15596번 : 정수 N개의 합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 15596번: 정수 N개의 합 C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net 1. 문제 설명 2. 풀이과정 함수를 작성하는 문제이므로 함수를 작성한다. def solve(a) 합을 저장할 변수를 생성하고 초기화한다. ans = 0 매개변수로 입력받은 리스트의 원소를 하나씩 추출한다. for i in a 추출한 원소를 결과에 더한다. ans += i 최종 결과를 반환한다. return ans 3. 소스코드 def solve(a): ans = 0 for i .. 2023. 7. 2.
[백준] 1978번 : 소수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 라이브러리를 불러옵니다. import sys 전체 소수의 개수를 입력할 값을 입력받는다. N = int(sys.stdin.readline()) 정수를 한 줄로 입력받아 리스트의 형태로 저장한다. li = list(map(int, sys.stdin.readline().split())) 소수의 개수를 저장해 줄 변수를 생성하고 초기화해 준다. count = 0 입력받은 정수를 하나씩 호출하며 소수인지 판별한다. for i in li 소수를.. 2023. 7. 1.
[백준] 1065번 : 한수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 1. 문제 설명 2. 풀이과정 정수를 하나 입력받는다. N = int(input()) 한수의 개수를 저장해 줄 변수를 생성하고 초기화해 준다. count = 0 1부터 입력받은 숫자까지 수 중 한수를 찾아야 하므로 반복문을 사용한다. for i in range(1, (N + 1)) 각 자릿수를 저장할 리스트를 생성한다. li1 = list() 연속된 두 수의 차이를 저장할 리스트를 생성한다. li2 = list() 리스트는 매 수마다 새로 생성해줘야 하므로 반복문 .. 2023. 7. 1.
[백준] 2525번 : 오븐 시계 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 1. 문제 설명 2. 풀이과정 현재 시간을 시와 분으로 나눠 입력을 받는다. A, B = map(int, input().split()) 요리하는 데 걸리는 시간을 입력받는다. C = int(input()) 만약 현재 시간의 분과 요리하는 데 걸리는 시간을 더했을 때 60분이 넘어가면 if ((B + C) >= 60) 시간으로 바뀌는 만큼 현재 시간의 시에 더해주고 만약 그 값이 24를 넘어가면 if (A + ( (B + C) // 60) >= 24).. 2023. 7. 1.
[백준] 4673번 : 셀프 넘버 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 1. 문제 설명 2. 풀이과정 1부터 10,000까지 사이에서 출력하는 것이므로 1부터 10,000까지 수를 저장한 리스트를 생성한다. li = list(1, 10001)) 반복 횟수를 저장하고 셀프 넘버를 생성할 변수를 생성하고 1로 초기화해 준다. N = 1 원하는 지점에서 종료하기 위해 무한 반복문을 활용한다. while (True) 만약 횟수가 10,000을 넘어가면 반복문을 종료한다. if (N > 10.. 2023. 7. 1.
[백준] 2750번 : 수 정렬하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 변수를 생성하고 수의 개수를 입력받는다. N = int(input()) 공백 리스트를 하나 생성한다. li = list() 입력받는 수만큼 반복합니다. for i in range(N) 변수를 하나 생성하고 각각 한 줄씩 수를 입력받는다. num = int(input()) 입력받은 수를 리스트에 추가한다. li.append(num) 값을 모두 입력받은 리스트를 오름차순으로 정렬해 준다. li.sort() 정렬해 준 리스트의 원소를 하나씩 추.. 2023. 7. 1.
[백준] 2908번 : 상수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 1. 문제 설명 2. 풀이과정 세 자리 자연수 2개를 입력받는다. a, b = map(int, input().split()) 입력받은 세 자리 자연수의 각 자리를 뒤바꿔 새롭게 저장한다. A = (a % 10 * 100) + (a % 100 // 10 * 10) + (a // 100) B = (b % 10 * 100) + (b % 100 // 10 * 10) + (b // 100) 새롭게 저장한 두 자연수를 비교하여 큰 수를 출력한다. if (A > B): print(A) .. 2023. 6. 30.
[백준] 1157번 : 단어 공부 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 변수 S를 생성하고 문자열을 입력받는다. S = input() 대소문자를 구분하지 않으므로 알파벳 개수의 크기를 갖는 리스트를 만들고 0으로 초기화해 준다. count = [0] * 26 각 알파벳을 사용하기 위한 반복문을 구현한다. for i in range(97, 123) 입력받은 문자열의 문자를 하나씩 추출한다. for j in S 추출한 문자가 각 해당 알파벳의 소문자이거나 대문자이면 if (j == chr(i)) or (j == chr(i - 32)) 해당.. 2023. 6. 30.
728x90
반응형