전체 글
[백준/Python3] 15552번: 빠른 A+B
문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만 하면 된다. P..
[백준/Python3] 2562번: 최댓값
문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 예제 입력 1 복사 3 29 38 12 57 74 40 85 61 예제 출력 1 복사 85 8 numbers 라는 리스트에 숫자 9개를 넣어주기 위해 숫자를 아홉번 입력하고, numbers 리스트에 아홉번 넣어주는 반복문 실..
[백준/Python3] 11720번: 숫자의 합
문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. 예제 입력 1 1 1 예제 출력 1 1 예제 입력 2 5 54321 예제 출력 2 15 예제 입력 3 25 7000000000000000000000000 예제 출력 3 7 예제 입력 4 11 10987654321 예제 출력 4 46 num 에 입력받은 문자열의 각 자릿 수의 값을 구하여 sum 에 합산했습니다. n = int(input()) num = input() sum = 0 for i in range(n): sum += int(num[i]) p..
[과제5] 냉장고에 음식 넣었다 빼기, 로또 걸리게 해주세요
1. 냉장고에 식재료를 추가하고, 삭제하는 연산을 구현하자. 입력은 연산(+/-/x)중의 하나로 하고, 연산과 식재료를 같이 입력한다. + 사과 # 사과를 냉장고에 추가 - 우유 # 냉장고에서 우유를 삭제한다 냉장고에 우유가 없을 경우에도 오류가 나지 않도록 구현할 것. 'x' 문자열을 입력하면 프로그램이 종료된다. 식재료가 추가되거나 삭제될 때마다, 냉장고에 현재 보관 중인 식재료 리스트를 출력하라 ref = [] while True: try: a, b = map(str, input().split()) if a == '+': ref.append(b) print(ref) elif a == 'x': break elif a == '-': if b not in ref: pass elif b in ref: re..
[과제4] 역수의 합 구하기, 별 찍기
1. 양의 정수 n을 입력받은 후, 1부터 n까지 역수의 합(1 + ½ + 1/3 + … + 1/n)을 구하라. n = int(input("입력 : ")) total = 0 count = 1 for x in range(n): total = total + (1/count) # total += 1/count count = count + 1 # count += 1 print(f"출력 : {total:.16f}") 2. 양의 정수 n을 입력 받은 후, 아래 모양을 출력해보자 n = int(input("n : ")) for x in range(n): for y in range(n+1): if y > x : print("*", end="") else: print("")
[과제3] 윤년 계산, 소수 판별
1. 년도를 양의 정수로 입력받아, 윤년이면 "윤년입니다."를 출력하고, 아니면 "윤년이 아닙니다."를 출력하라. 윤년일 조건은 아래와 같다. 400으로 나누어 떨어지면 윤년 4로 나누어 떨어지며, 100으로는 나누어 떨어지지 않을 경우 윤년 year = int(input("년도를 입력하세요 :")) if year % 400 == 0 : print("윤년 입니다.") elif year % 4 == 0 and year % 100 != 0 : print("윤년 입니다.") else : print("윤년이 아닙니다.") 2. 양의정수 n을 입력받은 후, 소수이면 true를, 소수가 아니면 false를 출력하라. num = int(input("양의 정수를 입력하세요 : ")) x = 2 toggle = 0 wh..
[과제2] 입력받은 초 를 시/분/초 로 출력, Turtle 그래픽스
입력 : 53457 출력 : 14시 50분 57초 나누기 기호(/)를 두번 입력하시면 소숫점을 버린 값이 나옵니다. time = int(input("자정부터 경과 시간을 초 단위로 입력 :")) hours = int(time / 3600) # 14.849166666666667 minutes = int(time / 60 % 60) # 50.950000000000045 seconds = int(time % 60) # 57 print(f"현재 시각= {hours:.0f} 시 {minutes:.0f} 분 {seconds} 초") import turtle t = turtle.Turtle() wn = turtle.Screen() wn.bgcolor("light green") t.color("red") t.shape..
[과제1] 두 점의 중심점과 두 점 사이의 거리 구하기
import math x1 = 5.2 y1 = 4.7 x2 = 1.4 y2 = 3.2 xmid = (x1 + x2) / 2 ymid = (y1 + y2) / 2 print(f"중심점의 좌표는 ({xmid}, {ymid}) 입니다.") dist = (x2 - x1) ** 2 + (y2 - y1) ** 2 dista = math.sqrt(dist) print(f"두 점 사이의 거리는 {dista} 입니다.") math 라이브러리를 import 해주어야 사용이 가능합니다. 함수 모양 : math.sqrt(x) 함수 설명 : math.sqrt(x) 함수는 x의 제곱근을 반환합니다. (x에 루트를 씌운 값을 반환) dista = math.sqrt(dist)