본문 바로가기

알고리즘60

백준 알고리즘 2739번(파이썬) 백준 2739번_파이썬 알고리즘 Q. 백준 2739. 구구단 구구단 단수 N을 사용자로부터 입력받아 구구단 N단을 출력하는 프로그램을 작성한다 (1) 입력 : 첫째 줄에 구구단 단수 N을 사용자로부터 입력받는다. (1 ≤ N ≤ 9) (2) 출력 : 'N * 차수 = 결과' 의 형식으로 차수 1~9까지 구구단을 출력한다. A. 풀이 - 구구단 풀이는 문제에서 요구하는 점을 유의하여 차근차근 생각하면 간단하게 풀 수 있다. - 먼저 구구단 단수를 입력 받고, → input() - 각 차수마다 곱한 값을 하나씩 증가시키면서 → for 반복문 - 구구단의 양식을 만들어 출력한다. → print() # Q 백준 2739. 구구단 num = int(input()) for i in range(1,10): print.. 2022. 9. 20.
백준 알고리즘 10250번(파이썬) 백준 10250번_파이썬 알고리즘 Q. 백준 10250. ACM 호텔 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로.. 2022. 9. 19.
백준 알고리즘 1193번(파이썬) 백준 1193번_파이썬 알고리즘 Q. 백준 1193. 분수찾기 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. (1) 입력 : 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. (2) 출력 : 첫째 줄에 분수를 출력한다. 입력 예시 출력 예시 1 1/1 2 1/2 3 2/1 4 3/1 5 2/2 6 1/3 7 1/4 8 2/3 9 3/2 14 2/4 A. 풀이 # Q 백준 1193. 분수 찾기 ★★ # 분수 : 1/1 1/2 2/1 3/1 2/2 1/3 1.. 2022. 9. 19.
백준 알고리즘 2884번(파이썬) 백준 2884번_파이썬 알고리즘 Q. 백준 2884. 알람시계 상근이는 알람을 맞춰놓고도 지각을 한다. 이를 본 창영이는 "45분 일찍 알람 설정 하기"를 추천해주었다. 이는 원래 설정되어 있던 알람을 45분 앞선 시간으로 조정하는 것이다. 현재 설정한 알람 시각이 주어졌을 때, 이를 언제로 조정해야 하는지 구하는 프로그램을 작성 (1) 입력 : 첫째 줄에 알람시간 H, M을 입력받는다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59; H, M은 정수) 입력시간은 24시간 표현을 사용하며, 하루의 시작시간은 0:0(자정), 끝은 23:59이다. (2) 출력 : 설정해야 하는 알람시간을 계산하여 출력해준다. A. 풀이 - 문제를 이해하고, 시간에 대한 개념을 다시 숙지하고 알고리즘을 짜야 한다. # Q 백준 .. 2022. 9. 19.
백준 알고리즘 9498번(파이썬) 백준 9498번_파이썬 알고리즘 Q. 백준 9498. 시험 성적 사용자로부터 시험성적을 입력받아 아래와 같이 출력하는 프로그램을 작성한다. 점수 출력 90 ~ 100점 A 80 ~ 89점 B 70 ~ 79점 C 60 ~ 69점 D 나머지(0 ~ 59점) F (1) 입력 : 첫째 줄에 시험점수를 입력받는다. (*0 = 80 else (print("C") if score >= 70 else (print("D") if score >= 60 else print("F")))) 1) 변수 선언부 - 먼저 학생의 점수를 입력받는다. 입력받을때 'input()'은 문자열로 처리되므로, 계산을 위해 'int()'함수로 전체를 묶어주어야 한다. 2) 조건문(if문) - 아래와 같이 삼항연산자를 활용하여 코드를 짰다. pr.. 2022. 9. 18.
백준 알고리즘 15552번(파이썬) 백준 15552번_파이썬 알고리즘 Q. 백준 15552. 빠른 A+B 아래를 참고하여 두 정수 A, B의 합 A+B를 출력하는 프로그램을 작성한다. (for문을 사용할 때 주의할 점으로, 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다. Python 사용시 input 대신 sys.stdin.readline을 사용할 수 있으며, 사용할 맨 끝의 개행문자(\n)까지 입력되므로, 문자열 저장시 별도의 처리가 필요하다.) (1) 입력 : 첫째 줄에 테스트 케이스의 갯수 T를 사용자로부터 입력받는다. (T ≤ 1,000,000) 둘째줄 부터 T+1줄까지는 합산할 두 정수 A, B가 각각 주어진다.(1 ≤ A, B ≤ 1,000) (2) 출력 : 각 테스트 케이스마다의 두 정수 A, B.. 2022. 9. 17.
파이썬 코딩 :: 파이썬 알고리즘, 시간복잡도, Linked list, 이진탐색, 재귀, 백준_TIL#13 ■ JITHub 개발일지(TIL : Today I Learned) 13일차 □ TIL #13 :: 파이썬 알고리즘, 시간복잡도, 링크드 리스트, 이진탐색, 재귀, 백준 1. 파이썬 알고리즘 1) 알고리즘의 기본 개념 · 알고리즘이란? 어떤 문제의 해결을 위하여, 입력된 자료를 토대로 하여 원하는 출력을 유도하여 내는 규칙의 집합이다. 여러 단계의 유한 집합으로 구성되는데, 각 단계는 하나 또는 그 이상의 연산을 필요로 한다. · 알고리즘을 다루려면 컴퓨터의 연산방식과 자료 관리 방식을 이해하여야 한다. → 시간복잡도 : 입력값과 문제를 해결하는 데 걸리는 시간과의 상관관계를 말한다. 시간이 적게 걸리는 알고리즘일 수록 좋기 때문에, 코드 입력값이 늘어나도 계산에 걸리는 시간이 덜 늘어나는 알고리즘이 좋은.. 2022. 9. 17.
백준 알고리즘 2525번(파이썬) 백준 2525번_파이썬 알고리즘 Q. 백준 2525. 오븐 시계 요리 시작시간과 조리시간(분 단위)을 입력받은 후, 요리가 끝나는 시간을 계산하는 프로그램을 작성한다. (1) 입력 : 첫째 줄에 요리를 시작하는 시간(현재시간)을 입력받는다. 시간은 시 A와 분 B가 정수로 공백을 사이에 두고 순서대로 주어진다.(0 ≤ A ≤ 23, 0 ≤ B ≤ 59) 둘째 줄에는 조리시간 C (0 ≤ C ≤ 1,000)가 분 단위로 주어진다. (2) 출력 : 첫째 줄에 종료되는 시각(시, 분)을 공백을 사이에 두고 출력한다. (시는 0~23까지의 정수, 분은 0~59까지의 정수, 23시59분이 지나면 0시0분으로 리셋) A. 풀이 - 문제를 제대로 이해하지 못하면 헤맬 수 있는 문제이니, 잘 이해하고 풀이를 시작해야 .. 2022. 9. 16.
백준 알고리즘 10171번, 25083번(파이썬) 백준 10171번_파이썬 알고리즘 Q. 백준 10171. 고양이 아래 예제와 같이 고양이를 출력하시오. A. 풀이 # 백준 10171, 고양이 print("\\ /\\") print(" ) ( ')") print("( / )") print(" \\(__)|") 백준 25083번_파이썬 알고리즘 Q. 백준 25083. 새싹 아래 예제와 같이 새싹을 출력하시오. A. 풀이 # 백준 25083, 새싹 if input() == '': print(""" ,r'"7 r`-_ ,' ,/ \. ". L_r' `~\/ | |""") R. 리뷰 - 이번 문제들은 문자열을 개행을 활용하여 모양을 만들어 출력하는 문제들이다. - 개행문자 (\n)을 사용하여도 되고, print()문을 사용해서 각각 출력해주어도 된다. prin.. 2022. 9. 15.
백준 알고리즘 2438번, 2439번(파이썬) 백준 알고리즘 2438번 Q. 백준 2438. 별 찍기-1 첫째줄 부터 N째줄까지 별이 하나씩 늘어나는 삼각형 모양을 만드는 프로그램을 작성한다. (1) 입력 : 사용자로부터 첫째 줄에 100이하의 자연수 N을 입력받는다. (1 ≤ N ≤ 100) (2) 출력 : 첫째 줄 부터 입력받은 N번째 줄까지 순서대로 별이 하나씩 늘어나도록 출력한다. A. 풀이 - 이번 문제는 sys모듈의 'stdin.readline()'을 활용하여 풀이하였다. # Q 백준 2438. 별 찍기-1 import sys num = int(sys.stdin.readline()) for i in range(1, num+1): print("*"*i) 1) 변수 선언부 - input() 대신 sys.stdin.readline()을 사용한 .. 2022. 9. 14.
반응형