BOJ 180

백준 2530번 인공지능 시계 파이썬

https://www.acmicpc.net/problem/2530 2530번: 인공지능 시계 첫째 줄에 종료되는 시각의 시, 분, 초을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수이며, 분, 초는 0부터 59까지의 정수이다. 디지털 시계는 23시 59분 59초에서 1초가 지나면 0시 0 www.acmicpc.net 이전 게시글에서 작성한 2525번의 문제에서 초가 추가된 문제다. 이 역시 나머지 연산과, 나누기 연산을 이용하여 코딩을 하였다. hour, minute, second = map(int, input().split()) add = int(input()) h = (hour + ((minute + ((second + add) // 60))) // 60) % 24 m = ((mi..

BOJ/Python 2021.07.23

백준 2525번 오븐 시계 파이썬

https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 내 답안 hour, minute = map(int, input().split()) add = int(input()) h = (hour + ((minute + add)//60)) % 24 m = (minute + add)%60 print(h,m) Review % 연산과 // 연산을 섞어줘서 시계 처럼 만들어 주면 된다고 생각 하였습니다. 특히 % 24 연산은 24시가 넘어갔을때 0 시로..

BOJ/Python 2021.07.23

백준 1712번 손익분기점 파이썬

https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 손익 분기점은 판매비용 - 가변비용 = 한계이익을 나타내고 고정 비용으로 나누면 손익 분기점의 시행 횟수를 구할 수 있게 된다. 경제학을 공부하는 게 아니니 이 부분은 넘어가고, 코드를 짜보면 A, B, C = map(int, input().split()) if B < C: count = A / (C-B) count += 1 print(int(count)) else: print("-1") 이런 식으로 ..

BOJ/Python 2021.07.23

백준 1297번 TV크기 파이썬

https://www.acmicpc.net/problem/1297 1297번: TV 크기 김탑은 TV를 사러 인터넷 쇼핑몰에 들어갔다. 쇼핑을 하던 중에, TV의 크기는 그 TV의 대각선의 길이로 나타낸 다는 것을 알았다. 하지만, 김탑은 대각선의 길이가 같다고 해도, 실제 TV의 크기는 www.acmicpc.net 내 답안 d, h, w = map(int, input().split()) height = int((h*d) / (((h**2) + (w**2)) **(1/2))) width = int((w*d) / (((h**2) + (w**2)) **(1/2))) print(height, width) Review 피타고라스 정리와 비율을 이용한 간단한 수학문제입니다 ! 손으로 계산하고 그 결과를 그대로 코..

BOJ/Python 2021.07.23

백준 8437번 Julka 파이썬

https://www.acmicpc.net/problem/8437 8437번: Julka Wejście składa się z dwóch wierszy. Pierwszy wiersz zawiera liczbę wszystkich jabłek posiadanych przez dziewczynki, natomiast drugi - liczbę mówiącą, o ile więcej jabłek ma Klaudia. Obie liczby są całkowite i dodatnie. Wiadomo, że dziewczynk www.acmicpc.net Julka는 어제 유치원에서 다음 수수께끼를 풀어서 선생님을 놀라게 했습니다. Klaudia와 Natalia는 함께 사과 10개를 가지고 있지만 Klaudia는 ..

BOJ/Python 2021.07.23

백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 파이썬

https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 내 답안 chess = [1, 1, 2, 2, 2, 8] # 정해진 말의 수 a = list(map(int, input().split())) for i in range(6): print(chess[i] - a[i], end=' ') Review 정해진 말의 수 - 동혁이가 찾은 말의 수 로 문제 해결을 하였어요. list(map(int, input().split())) 이 코드는 정말 많이 사용을 하기 때문에 외워두면 ..

BOJ/Python 2021.07.22

백준 2845번 파티가 끝나고 난 뒤 파이썬

https://www.acmicpc.net/problem/2845 2845번: 파티가 끝나고 난 뒤 파티가 끝나고 나면, 사람들은 누가 파티에 왔는지와 얼마나 많은 사람들이 왔는지를 궁금해한다. 보통 파티는 매우 크게 열리기 때문에, 정확하게 몇 명이 참가했는지 알 수가 없다. 지난주 토 www.acmicpc.net x , y = map(int, input().split()) z = x*y p = list(map(int, input().split())) for i in p: print(i - z, end = ' ') 첫 줄에는 map함수를 활용했고, 스페이스바로 구분하여 각 인자에 정수값을 전달해주는 코딩을 하였다. 이후 곱셈작업을 하고 5개 입력한것을 스페이스바 기준으로 나눠서 리스트에 넣었다. 리스트..

BOJ/Python 2021.07.22

백준 1550번 16진수 파이썬

https://www.acmicpc.net/problem/1550 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net 포맷팅만 알면 사실 되게 간단했다. x = input() print(int(x , 16)) 포맷팅을 잘 활용하고 내장함수를 이용하면 간단하게 나타낼수있다. 하지만, 처음에 나는 진수를 바꿔라 하는 문제를 봤을 때는 길게 알고리즘을 짰었다 예를들어 10진수 -> 2진수로 바꾸라는 함수를 만들라고 했을땐 def decitobin(n): # 10진수를 2진수로 if n == 1: return '1' # 1 -> 1..

BOJ/Python 2021.07.20

백준 1271번 엄청난 부자2 파이썬

https://www.acmicpc.net/problem/1271 1271번: 엄청난 부자2 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수) www.acmicpc.net 내 코드 x, y = input("").split() x = int(x);y=int(y) print(x//y);print(x%y) 1000번을 풀기 전 내 풀이는 다음과 같다. 다소 부족 한 코드이다. 하지만 1000번을 풀면서 map 함수를 조금 터득한 덕에 x , y = map(int ,input().split()) print(x//y) print((x%y)) 좀 더 간단하게 형 변환과 인자 전달까지 완료하였다. x = list(ma..

BOJ/Python 2021.07.20

백준 1000번 A+B 파이썬

https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 답안 a, b = input().split() a = int(a) b = int(b) print(a+b) .split()을 이용하여 스페이스바로 구분해 변수를 정하는 방법을 사용하였고 a = int(a) b = int(b) 를 통해 형변환을 해준뒤 프린트 문으로 출력을 하는 방식으로 코드를 짰다. 하지만 map을 알때는 이렇게 사용하는게 편리하다. a, b = map(int, input().split()) print(a+b) map 함수는 여러 개의 데이터를 한번에 다른 형태로 바꾸기 위해 사용한다. 기본 형태는 m..

BOJ/Python 2021.07.19