파이썬
-
[백준] 1193번 (python) *(Need to Review)[백준 Baekjoon]/[Python] 2024. 1. 29. 13:27
문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 출력 첫째 줄에 분수를 출력한다. 코드 num = int(input()) # n번째 분수 line = 1 # 지그재그 모양의 분수들의 규칙따라 정렬해놓은 라인 while..
-
[백준] 2292번 (python)[백준 Baekjoon]/[Python] 2024. 1. 26. 12:16
위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 아이디어 해당 번호까지 접근하는데 걸리는 횟수의 경계선의 값들을 보면, 한 번 이동해서 갈 수 있는 최댓값은 7, 그다음은 19, 37, 61..
-
[백준] 2903번 (python)[백준 Baekjoon]/[Python] 2024. 1. 26. 11:26
중앙 이동 알고리즘 문제 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. 외계 지형은 중앙 이동 알고리즘을 이용해서 만들려고 한다. 알고리즘을 시작하면서 상근이는 정사각형을 이루는 점 4개를 고른다. 그 후에는 다음과 같은 과정을 거쳐서 지형을 만든다. 정사각형의 각 변의 중앙에 점을 하나 추가한다. 정사각형의 중심에 점을 하나 추가한다. 초기 상태에서 위와 같은 과정을 한 번 거치면 총 4개의 정사각형이 새로 생긴다. 이와 같은 과정을 상근이가 만족할 때 까지 계속한다. 아래 그림은 과정을 총 2번 거쳤을 때까지의 모습이다. 초기 상태 - 점 4개 1번 - ..
-
[백준] 2720번 (python)[백준 Baekjoon]/[Python] 2024. 1. 24. 16:54
문제 미국으로 유학간 동혁이는 세탁소를 운영하고 있다. 동혁이는 최근에 아르바이트로 고등학생 리암을 채용했다. 동혁이는 리암에게 실망했다. 리암은 거스름돈을 주는 것을 자꾸 실수한다. 심지어 $0.5달러를 줘야하는 경우에 거스름돈으로 $5달러를 주는것이다! 어쩔수 없이 뛰어난 코딩 실력을 발휘해 리암을 도와주는 프로그램을 작성하려고 하지만, 디아블로를 하느라 코딩할 시간이 없어서 이 문제를 읽고 있는 여러분이 대신 해주어야 한다. 거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01)의 개수를 구하는 프로그램을 작성하시오. 거스름돈은 항상 $5.00 이하이고, 손님이 ..
-
[프로젝트 오일러] 4번 대칭수 (python)[프로젝트 오일러 Project Euler]/[Python] 2024. 1. 23. 20:29
문제 앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다. 두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다. 세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? 아이디어 1. 세 자리와 세 자리를 곱하는 반복문을 하나 만든다. 2. 반복문 내에서 각 요소들의 곱을 저장한다. 3. 저장한 값이 앞 뒤로 읽을 때 같은 수를 리스트에 추가한다. 4. 리스트의 최대값 출력 코드 max_value = [] for i in range(100,1000): for j in range(100,1000): result = i * j if(str(result) == str(result)[::-1]): max_val..
-
[백준] 11005번 진법 변환2 (python)[백준 Baekjoon]/[Python] 2024. 1. 23. 19:58
문제 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 입력 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다. 출력 첫째 줄에 10진법 수 N을 B진법으로 출력한다. 아이디어 1. N과 B를 정수형으로 받는다. 2. N을 B진법으로 변환한 수를 받는 빈 문자열을 생성한다 3. [0-Z]까지의 수가 들어있는 문자열을 생성한다 4. N을 B로 나누는데, N이 0이 될 때 까지 초기화해준다 5. 초기화 될 때마다의 나머지를 빈 문자열에..
-
Python SummarySummary/[Python] Summary 2024. 1. 23. 14:15
파이썬의 장점 : 범용성 * 파이썬 동작 과정 1. 소스코드 작성 2. 인터프리터가 소스코드를 한 줄씩 읽고 해석하여 Bytecode로 변환 3. Byte 코드를 Python Virtual Machin (PVM)이 기계어로 변환한다. ByteCode : 특정 플랫폼에서 실행되는 중간 언어로, 기계어보다는 사람이 이해하기 쉽도록 만들어진 언어. Compile : 소스코드로 작성한 프로그래밍 언어를 기계어로 바꾸어주는 기능 파이썬은 소스파일을 인터프리터가 번역하여 기계어로 변환한다. -> C언어는 목적파일을 만드는 절차가 더 있지만 파이썬은 없다. 인터프리터 언어 : 실행 전 컴파일 하지 않고 바로 결과 확인이 가능한 언어 = 대화형 언어 Program : 명령어들의 집합. 명령어들은 순서를 갖고 논리적으로..
-
[백준] 2566번 최댓값 (python)[백준 Baekjoon]/[Python] 2024. 1. 22. 17:39
과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오. 예를 들어, 다음과 같이 81개의 수가 주어지면 3 23 85 34 17 74 25 52 65 10 7 39 42 88 52 14 72 63 87 42 18 78 53 45 18 84 53 34 28 64 85 12 16 75 36 55 21 77 45 35 28 75 90 76 1 25 87 65 15 28 11 37 28 74 65 27 75 41 7 89 78 64 39 47 47 70 45 23 65 3 41 44 87 13 82 38 31 12 29 29 80 이들 중 최댓값은 90이고, 이 값은 5행 7열에 위치한다. [아이디어..