Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 맥북
- hackerrank
- 프로그래머스 파이썬
- AI 경진대회
- Baekjoon
- 백준
- Kaggle
- 편스토랑
- 프로그래머스
- 우분투
- Real or Not? NLP with Disaster Tweets
- 캐치카페
- 편스토랑 우승상품
- leetcode
- 금융문자분석경진대회
- github
- ChatGPT
- ubuntu
- 코로나19
- PYTHON
- gs25
- 자연어처리
- Git
- dacon
- programmers
- Docker
- 더현대서울 맛집
- 파이썬
- SW Expert Academy
- 데이콘
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 1871번 : 좋은 자동차 번호판 (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 좋은 자동차 번호판 입니다.
Solution
def nice_car_number(car_number):
is_nice = "not nice"
front, end = car_number.split("-")
front_num, end_num = 0, int(end)
for i in range(3):
front_num += (ord(front[i]) - 65) * 26**(2-i)
if abs(front_num - end_num) <= 100:
is_nice = "nice"
return is_nice
if __name__ == "__main__":
for _ in range(int(input())):
car_number = input()
print(nice_car_number(car_number))
Solution 풀이
먼저 몇개의 자동차 번호를 입력 받을 것인지 입력받습니다.
그 수만큼 반복문을 돌면서 입력받은 수가 좋은 번호인지 아닌지 확인합니다.
자동차 번호는 - 으로 이어져 있으므로 앞부분과 뒷부분을 - 로 split하여 나누어줍니다.
앞 부분은 26진수 처럼 생각해달라고 했기에 ord를 활용하여 0~26으로 만들어주어야하는데
이때 ord('A')의 값이 65이므로 - 65 또는 - ord('A') 를 해준뒤 26의 제곱수를 곱해줍니다.
그 값과 뒷부분을 Int형으로 변환한 값의 차가 100 이하일 경우 nice를
그렇지 않을 경우엔 not nice를 출력하면 끝!
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 2789번 : 유학 금지 (Python) (0) | 2021.07.17 |
---|---|
[BaekJoon] 4949번 : 균형잡힌 세상 (Python) (0) | 2021.07.16 |
[BaekJoon] 12871번 : 무한 문자열 (Python) (0) | 2021.07.14 |
[BaekJoon] 20291번 : 파일 정리 (Python) (0) | 2021.07.13 |
[BaekJoon] 7600번 : 문자가 몇갤까 (Python) (0) | 2021.07.12 |
Comments