본문 바로가기
728x90
반응형

Python437

[백준] 24264번 : 알고리즘 수업 - 알고리즘의 수행 시간 3 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 24264번: 알고리즘 수업 - 알고리즘의 수행 시간 3 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 입력의 크기를 입력받는다. n = int(sys.stdin.readline()) 1부터 n까지 중첩 반복문이므로 수행 횟수는 n * n이다. 수행 횟수를 출력한다. print(n ** 2) 수행 횟수를 다항식으로 나타내었을 때 n의 제곱이다. 다항식의 최고차항의 차수는 2이다. print(2.. 2023. 11. 3.
[백준] 14215번 : 세 막대 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 14215번: 세 막대 첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stidn.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 세 막대의 길이를 입력받는다. a, b, c = map(int, sys.stdin.readline().split()) 세 막대 중 길이가 가장 긴 막대의 길이를 저장한다. MAX = max(a, b, c) 나머지 두 막대의 길이의 합을 저장한다. SUM = (a + b + c) - MAX 삼각형이 되려면 가장 긴 변의 길이가 나머지 두 변의 길이 합보다 작아야 한다. 따라서 제일 긴 막대의 길이가 나머지 두 막대의 길이의 합보다 작으면 if (MAX.. 2023. 11. 2.
[프로그래머스] 스티커 모으기(2) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 스티커에 적힌 숫자의 합이 크도록 스티커를 모으는 문제이다. 한 스티커를 떼면 양옆의 스티커를 뗄 수 없으므로 스티커를 뗄 수 있는 방법은 때고 안 떼는 방법(OX)과 안 때고 떼는 방법(XO)이 있다. 두 경우를 각각 DP 알고리즘을 활용하여 해결한다. DP 알고리즘을 사용하는 이유는 스티커를 하나씩 땔 때 이전에 때었던 스티커의 위치와 값에 영향을 받기 때문이다. 스티커를 떼면 양쪽 스티커를 뗄 수 없기에 현재 스티커를 뗄 지에 대한 위치 영향을 받는 것이고땐 스.. 2023. 11. 1.
[백준] 5073번 : 삼각형과 세 변 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 5073번: 삼각형과 세 변 각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 세 변의 길이를 모두 0으로 받으면 종료하기 위해 무한 반복문을 사용한다. while (True) 세 변의 길이를 입력받는다. a, b, c = map(int, sys.stdin.readline().split()) 만약 세 변의 길이가 모두 0이면 종료한다. if (a == b == c == 0): break 만약 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작으면 if (max(a, b, c) .. 2023. 10. 31.
[프로그래머스] 124 나라의 숫자 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 10진법을 124로 구성된 3개의 수로 변환하는 문제이다. 3개의 수를 가지고 바꾸는 것은 쉽게 3진법이라고 할 수 있다. 3진법은 보통 012로 구성되어 있지만 위 문제는 124를 가지고 수를 변환해야 한다. 그냥 3진법으로 바꾸려면 3으로 나눈 나머지를 저장하고 몫으로 수를 새롭게 바꾸어 0이 될 때까지 반복하면 된다. 하지만 해당 문제에서 수가 3으로 나누어 떨어지는 수이면 수를 3으로 나눈 몫이 아니라 몫에서 1을 빼준 값으로 바꿔야 한다. 124로 변환한 결.. 2023. 10. 30.
[백준] 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.
[프로그래머스] 연속된 부분 수열의 합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 합을 만족시키는 부분 수열을 모두 구하고 부분 수열 중 가장 길이가 짧은 부분 수열, 길이가 동일하다면 가장 앞쪽 부분 수열을 찾는 문제이다. 배열에서 원소를 하나씩 추가시키며 합을 확인한다. 합이 아직 작을 경우 뒤 원소를 하나 추가시키고 클 경우 앞 원소를 하나 줄이며 부분 수열을 지정한다. 만약 합이 일치할 경우 해당 부분 수열의 시작 인덱스와 끝 인덱스를 저장하고 앞 원소를 하나 줄인다. 가장 길이가 짧은 부분 수열을 찾아야 하므로 두 인덱스 사이의 차가 작은.. 2023. 10. 28.
[백준] 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.
[프로그래머스] 두 큐 합 같게 만들기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 두 큐의 원소를 제거하고 추가하는 작업을 반복하면서 두 큐의 합이 동일해지도록 만드는 문제이다. 큐의 구조에 따라 제일 앞 원소를 빼서 제일 뒤에 추가한다. 처음에 두 큐의 원소 개수는 동일하다. 하여 두 큐가 작업을 수행하다가 작업을 처음 큐의 원소 개수에 4배만큼 수행하게 되면 처음 큐로 돌아오게 된다. 따라서 작업 횟수는 처음 큐의 원소 개수에 4배보다 작아야 하며 이와 같거나 커질 경우에는 절대로 각 큐의 원소 합을 같게 만들 수 없는 경우인 것이다. 또한 매.. 2023. 10. 26.
[프로그래머스] 큰 수 만들기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 숫자 문자열에서 특정 숫자를 제거했을 때 가장 큰 수를 만드는 문제이다. 숫자의 위치를 바꿀 수는 없으므로 앞 숫자가 커야 한다. 최종 큰 수를 저장할 리스트를 만들고 숫자 문자열에서 숫자를 하나씩 불러오며 이전에 있는 값보다 크면 바로 이전 값을 제거하고 새로 불러온 숫자를 추가한다. 이때 제거할 문자가 더 이상 없거나 리스트의 원소 개수가 최종 출력할 자리 수와 동일하면 종료한다. 최종 큰 숫자를 저장할 리스트를 생성한다. stack = list() 입력받은 숫자.. 2023. 10. 24.
728x90
반응형