일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Django
- 단어 공부
- 프로그래머스
- where
- 파이썬 몫
- 아이엠어바텐더
- count
- Len
- 백준
- Join
- YOLOv5
- sql
- pcce 기출문제
- css
- GIT
- map
- List Comprehension
- 코딩테스트 연습
- html
- ORDER BY
- 슬라이싱
- 프로젝트
- 파이썬
- python
- Python3
- 데이터
- date_format
- SQL 고득점 Kit
- 파이썬 슬라이싱
- 설계
- Today
- Total
목록Python (115)
nan + nan = 2nan
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EX4QR/btra6ICo5d5/WFQCLKnCsNhmLpMllceA2k/img.png)
코드 입력 T = int(input()) for i in range(1, T + 1): print('*' * i ) 강의를 진행하면서 제공되었던 문제여서 반가웠는데, 다시 풀려니 바로 식이 생각나지 않았다. for range 구문까지는 생각이 났는데, *을 어떻게 반복해서 출력했는지가 기억이 안 났다. formatting을 써야되나......... 하다가 딱 입력 변수만큼 반복되는 패턴이 생각나서 문자를 i 만큼 곱해준다는 식이 생각나부렀다 출처 : 백준 Online Judge https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LuHFN/btra35kqI9d/U2QbmnceK7WcKruQkV6krk/img.png)
코드 입력 T = int(input()) for i in range(1, T + 1): A, B = map(int, input().split()) print('Case #%s: %s + %s = %s' % (i, A, B, A+B)) 11021번과 비슷한 포맷을 가져간다. 식 구성이 추가되었으니, 추가된 만큼 해당 변수에 %s를 추가해주면 간단s. 출처 : 백준 Online Judge https://www.acmicpc.net/problem/11022 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JWJHv/btra8zyod37/YFl6wlpBUfrUOckVZyPAR1/img.png)
코드 입력 T = int(input()) for i in range(1, T + 1): A, B = map(int, input().split()) print('Case #%s: %s' % (i, A+B)) 앞서 배웠던 것들의 활용판이라고 볼 수 있다. for 문, map을 이용한 함수, formatting을 통해 변수를 출력하는 기법. 출처 : 백준 Online Judge https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xq96m/btrbaf7gtSu/sSYvkCmQV5MR7cBkKaIQ51/img.png)
코드 입력 N = int(input()) for i in range(1, N + 1): print(N) N += - 1 if N == 0: break 앞서 2741번을 응용한 버전이다. range는 그대로 두되, 반복적으로 더해주는 식에 - 부호를 입혀주고 if 문에서 i가 아닌 N 값의 변수로 설정해준다. 기준점을 어디에 두느냐에 따라 변수 설정이 중요하다. 출처 : 백준 Online Judge https://www.acmicpc.net/problem/2742 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zFk1q/btraZLml9GJ/AC8ktKTa4dzOvu8pUJoLwK/img.png)
코드 입력 N = int(input()) for i in range(1, N + 1): print(i) i += 1 if i == N + 1: break 앞의 식과 동일한 부분이다. N까지 차례대로 출력하기 위해서는 for, range를 활용한다. print(i)를 먼저 배치한 이유는 break 아래에 배치했을 때, 1 이 출력되지 않는다는 문제가 발견되었다. range값에서 (0, N + 1)로 설정하면 맨 밑에 배치해도 상관이없다.다만 늦게 알았기때문에 시행착오를 겪은 코드를 사용했다. 출처 : 백준 Online Judge https://www.acmicpc.net/problem/2741 2741번: N 찍기 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. w..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b0YVaD/btrbe4RTON1/x0JMJuR9a3vf8kSuFxAXn1/img.png)
코드 입력 import sys T = int(input()) for _ in range(T): a,b = map(int, sys.stdin.readline().rstrip().split()) print(a + b) 조금 난감했던 문제다. 해당 식을 도출하는 과정까지는 앞서 적용했던 식들을 활용했기 때문에 어렵지 않았는데, Jupyter에서는 계속 오류가 났다. 무엇이 문제인지는 강사님께 여쭤봐야하나... 무튼 여러 사투 끝에 제출을 했고 맞히긴 했다. sys라는 속성을 활용하기 위해 import를 활용해 모듈을 불러주고,앞서 활용했던 식에 덧붙여 써주었다. 근데 Jupyter 에서는 자꾸 오류가 난다................ 1시간 넘게 이것 저것 다 대입해보았지만,Jupyter는 끝까지 도와주지 않..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b0bkZf/btrbe5DgQzz/UoZ0qzKrChNcbRWDIDKjnk/img.png)
코드 입력 n = int(input()) total = 0 for i in range(1, n + 1): total += i print(total) 1부터 n까지의 합을 구하는 문제이기 때문에, n까지의 합을 저장해 줄 변수가 필요하다. 나는 total로 지정을 했고, 초기 설정을 0으로 했다. for 반복문을 이용해서 1부터 n까지의 합을 표현하기 위해 range(1, n + 1)을 사용했고, total = total + i 라는 식을 활용해 위에서 나오는 값을 반복적으로 더해주는 식을 만들었다. 출처 : 백준 Online Judge https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicp..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZgH3r/btra34r74Qo/bZdyRfI6nOpRUFqV4Ri29k/img.png)
코드 입력 T = int(input()) for _ in range(T): A, B = map(int, input().split()) print(A + B) 앞 전에 게재한 A + B 식의 응용 버전이다. 입력문 개수를 T 개 출력해야 하기 때문에, for문을 활용해서 range(T)로 반복해준다. for 문의 기본 구조는 for '변수 값' in '리스트, 튜플, 문자열': 수행문 .. 이러하다. 문제에 적용될 함수에는 range(T)로 생성된 숫자열들을 변수로 사용할 필요가 없기 때문에 _를 활용하여 필요없는 부분을 표현해주는 방법도 가능하다. 출처 : 백준 Online Judge https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Q1mcJ/btraZMZVErg/xpflEq6neL2rspkrvDUf50/img.png)
코드 입력 a = int(input()) for b in range(1, 10): print('%s * %s = %s' % (a, b, a * b)) if b == 9: break for 구문과 formatting 을 사용해서 풀 수 있는 문제다. 강의를 들으면서 한 번 풀었던 문제였지만, 시간이 지나서 생각이 잘 나지 않았다. 강의록을 들여다보면서 다시 되짚어보았다. print 구문 안에 반복되는 식을 출력하는데 오류가 나서, formatting을 사용했다 %s에 변수 값을 적용해놓고, 뒤에 % ( ) 안에 해당 %s 값에 대입할 변수를 적용하는 방법이다. 출처 : 백준 Online Judge https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bJIh2v/btra6HDmJ0x/kf8qXIkNtkYR6xxYKJzKEk/img.png)
코드 입력 h, m = map(int, input().split()) if m > 44: print(h, m - 45) elif h > 0 and m < 45: print(h - 1, m + 15) else: print(23, m + 15) 머리로는 로직이 만들어지는데, 이것을 바로 구현하기에는 쉽지 않았던 문제이다. 예를 들어, 7 : 45의 경우 7 : 00 으로 만들면 된다 하지만, 7 : 30 의 경우 6 : 45로 만들어야 하는데 시와 분 간의 관계를 정립해야 한다. 또한, 0 : 30일 경우 23 : 45로 만들 수 있는 로직이 필요했다. 처음 코드를 구성했을 때는 나머지는 같지만 분을 만들 때 ' 60 - (45 - m) ' 이런 식으로 어렵게 만들었다. 대부분의 결과 값이 출력되었지만, 오..