본문 바로가기
728x90
반응형

Baekjoon243

[백준] 10101번 : 삼각형 외우기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10101번: 삼각형 외우기 문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 삼각형의 세 각의 크기를 입력받는다. a = int(sys.stdin.readline()) b = int(sys.stdin.readline()) c = int(sys.stdin.readline()) 세 각의 합이 180일 경우 if (a + b + c == 180) 세 각의 크기가 모두 같으면 if (a == b == c) Equilateral를 출력한다. print('Equilateral') 반면 세 각의.. 2023. 10. 29.
[백준] 9063번 : 대지 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 9063번: 대지첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. www.acmicpc.net 1. 문제 설명2. 풀이과정해당 문제는 옥구슬을 발견한 지점을 보고 직사각형 모양의 대지 면적을 계산하는 문제이다. 각 x축과 y축 변의 길이는 각 x좌표와 y좌표의 최댓값에서 최솟값을 뺀 값이다. 각 변의 길이를 구한 뒤 곱하여 대지의 면적을 구한다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys점의 개수를 입력받는다. N = int(sys.stdin.readline())점의 x좌표를 저장.. 2023. 10. 27.
[백준] 9506번 : 약수들의 합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys -1을 입력받았을 때 종료하기 위해 무한 반복문을 사용한다. while (True) 숫자를 입력받는다. n = int(sys.stdin.readline()) 만약 -1을 입력했다면 종료한다. if (n == -1): break 그게 아니라면 약수를 저장할 리스트를 생성한다. li = list() 약수를 출력하기 위해 문자열.. 2023. 10. 23.
[백준] 2501번 : 약수 구하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 약수를 구하고 원하는 순서에 위치한 약수를 출력하는 문제이다. 리스트에 약수를 저장하고 원하는 순서의 약수를 출력한다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys N과 K를 입력받는다. N, K = map(int, sys.stdin.readline().split()) 약수를 저장할 리스트를 생성한다. li = list() 1부터 N까지 반복하며 for i in range(1, N + 1) 만약 해당 수가 N의 약수이면 if (N % .. 2023. 10. 21.
[백준] 5086번 : 배수와 약수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 두 수가 배수와 약수의 관계인지 판별하는 문제이다. 첫 번째 수와 두 번째 수의 크기 차이를 비교하면 배수를 판별해야 할지, 약수를 판별해야 할지 구분할 수 있다. 만약 첫 번째 수가 더 크면 배수인지 판별하고, 두 번째 수가 더 크면 약수인지 판별하면 된다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 종료 입력인 0 두 개를 입력하기 전까지 반복하기 위해 무한 반복문을 사용한다. while (True.. 2023. 10. 19.
[백준] 2903번 : 중앙 이동 알고리즘 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2903번: 중앙 이동 알고리즘 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 과정을 반복할 때마다 생기는 점의 개수를 구하는 문제이다. 생기는 점의 개수에는 규칙이 존재하는데, 이는 해당 과정을 반복할 때마다 한 변에 추가로 생기는 점의 개수는 이전 한 변의 중앙 지점의 개수만큼 점이 추가로 생긴다. 처음에는 한 변에 점이 2개이다. 이후 과정을 1회 수행하면 변의 가운데에 점이 하나 생겨 한 변에 점이 3개가 된다. 이후 또 과정을 1회 수행하면 한 변이 2개의 구역으로 나누어져 있는.. 2023. 10. 17.
[백준] 2720번 : 세탁소 사장 동혁 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 각 거스름돈을 최소한의 동전 개수로 거슬러 주어야 하는 문제이다. 각 동전은 달러로 단위가 표시되어 있지만, 입력으로 받아지는 거스름돈의 단위는 센트이다. 하여 각 동전의 단위를 센트로 바꾸어 저장해 두고, 동전의 개수를 최소한으로 줘야 하므로 큰 금액부터 개수를 구한다. 큰 금액의 동전부터 거슬러줄 동전의 개수를 출력하고, 남은 금액을 새로 저장한다. 이 행동을 마지막 동전까지 반복하면 된다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import.. 2023. 10. 16.
[백준] 11005번 : 진법 변환 2 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 10진법 수를 원하는 진법의 수로 바꾸는 문제이다. 우선 각 진법별 수를 0~9까지, A~Z까지 한 리스트에 저장한다. 10진법 수를 원하는 진법의 수로 나눈 나머지의 값을 인덱스 값으로 갖는 해당 문자를 저장하며 진법을 바꾼다. 이때 바꾼 결과는 거꾸로 저장되어 있기 때문에 최종 결과를 뒤집어 준다. 나머지를 추가한 뒤에는 해당 수를 진법 수로 나눈 몫의 결과로 새로 저장하며 0이 될 때까지 반복한다. ex) 8을.. 2023. 10. 14.
[백준] 2745번 : 진법 변환 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 입력받은 진법의 수를 10진수로 변환하는 문제이다. 0부터 Z까지 총 36진법까지 존재하므로 해당 수를 리스트로 저장한다. 이는 입력받은 수를 정수로 표현한 값을 인덱스로 찾기 위함이다. 0 = 0, 1 = 1 ~ A = 10, B = 11 어떤 수를 10진수로 변환하려면 1의 자릿수부터 끝까지 반복하며 해당 진법의 0 제곱부터 자릿수 - 1 제곱까지 곱한 결과를 더해주면 된다. ex) 1101 2진수 -> 1 * 2**.. 2023. 10. 12.
[백준] 2563번 : 색종이 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 색종이를 붙이면서 겹치는 부분으로 고려하여 전체 색종이가 붙여진 면적을 계산하는 문제이다. 색종이를 붙일 도화지의 면적을 가로, 세로 100씩 생각하여 2차원 배열로 만든다. 이후 색종이를 붙일 때마다 붙여지는 면적을 1로 바꾼다. 이때 겹치는 부분이 생겨도 그대로 1로만 바꾸기 때문에 겹치는 부분에 대한 계산을 따로 하지 않아도 된다. 마지막에 0에서 1로 바뀐 면적만 계산해 주면 쉽게 결과를 구할 수 있다. sys.st.. 2023. 10. 10.
728x90
반응형