여러 줄의 입력을 받을 때 input()보다 성능이 좋은 입력방법을 연습하는 문제이다. 자바로 치면 BufferedReader정도 되는 녀석. 솔직히 파이썬에도 다른 입력 방식이 있을 거라곤 예상하지 못해서 흥미로웠다. sys.stdin.readline() 메서드는 input() 함수와 사용법이 비슷하지만, 마지막 개행문자까지 입력받기 때문에 이를 잘라주는 .rstrip() 메서드와 함께 사용하는 편이 좋다. 하지만 해당 문제는 따로 잘라주지 않아도 통과하기는 한다. 나온 김에 정리하자면 strip([chars]) - 문자열의 양 쪽 끝에서 chars 제거 lstrip([chars]) - 문자열의 왼 쪽 끝에서 chars 제거 rstrip([chars]) - 문자열의 오른 쪽 끝에서 chars 제거 im..
문제 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다. 영수증에 적힌, 구매한 각 물건의 가격과 개수 구매한 물건들의 총금액 을 보고, 구매한 물건의 가격과 개수로 계산한 총금액이 영수증에 적힌 총금액과 일치하는지 검사해 보자. 입력 첫째 줄에는 영수증에 적힌 총금액 X가 주어진다. 둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N이 주어진다. 이후 N개의 줄에는 각 물건의 가격 a와 개수 b가 공백을 사이에 두고 주어진다. 출력 구매한 물건의 가격과 개수로 계산한 총금액이 영수증에 적힌 총금액과 일치하면 Yes를 출력한다. 일치하지 않는..
문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게..
주어진 시간에서 45분을 뺀 수를 리턴하는 문제이다. 조건이 점차 까다로워지는 느낌이 드는 문제이다. 실제 웹 개발에선 조건문으로 분기처리해야 할 상황은 많이 마주치지 않지만, 한 번 마주쳤다 하면 머릿속이 꼬이는 경우가 많아서 기회가 있을 때 연습하는 게 좋다. 추가로 파이썬에서 띄어쓰기를 하려면 그냥 값 사이에 ','를 넣어주면 된다. a, b = map(int, input().split()) if b >= 45: print(a, b - 45) elif a != 0 and b < 45: print(a - 1, b + 15) elif a == 0 and b < 45: print(23, b + 15)
문제 숫자 카드는 정수 하나가 적혀 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어 있다. 이 수도 -10,000,000보다 크거나 같고, 10,000..
문자열에서 해당 인덱스의 값을 뽑아와 숫자로 매핑한다. 자바에도 물론 같은 기능이 있지만 파이썬이 확실히 코드가 짧다(아직까지는). print() 마지막에 붙은 sep='\n'은 리스트의 각 원소를 개행문자로 나눠주는 역할을 한다. a = int(input()) b = input() x = int(b[2]) y = int(b[1]) z = int(b[0]) print(a * x, a * y, a * z, a * int(b), sep='\n')
- Total
- Today
- Yesterday
- RX100M5
- 세계일주
- 스프링
- 유럽여행
- 면접 준비
- 기술면접
- Algorithm
- 세계여행
- a6000
- java
- Backjoon
- 백준
- 동적계획법
- spring
- 중남미
- 야경
- Python
- 스트림
- 남미
- 리스트
- 유럽
- 알고리즘
- 파이썬
- 칼이사
- 자바
- 여행
- 세모
- 지지
- BOJ
- 맛집
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |