일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 슬라이싱
- 코딩테스트 연습
- 설계
- python
- sql
- Django
- 프로그래머스
- 파이썬 몫
- ORDER BY
- Len
- 파이썬 슬라이싱
- count
- List Comprehension
- 아이엠어바텐더
- GIT
- pcce 기출문제
- 프로젝트
- 파이썬
- SQL 고득점 Kit
- css
- where
- Join
- YOLOv5
- map
- 단어 공부
- 백준
- Python3
- 데이터
- html
- date_format
- Today
- Total
목록Python (117)
nan + nan = 2nan
코드 입력 def get_counter(): text = input().upper() cnt = dict() for t in text: if t not in cnt.keys(): cnt[t] = text.count(t) c = sorted(cnt.items(), key=lambda x: x[1], reverse=True) if len(c) == 1: print(text) elif c[0][1] != c[1][1]: return print(c[0][0]) else: return print('?') get_counter() 시간 초과 때문에 애를 많이 먹인 문제이다.문제 자체는 그렇게 어려운게 아닌데, 자꾸 시간 초과가 떠서 중간 중간 시간이 뜰 만한 부분들을제거하는데 주력했다. 예를 들어, 단어에 나오는 ..
코드 입력 def get_c_str(): cycle, target = map(str, input().split()) answer = '' for t in target: answer += t * int(cycle) return answer test_case = int(input()) for test in range(test_case): print(get_c_str()) 이것도 정말 쉽지만, 살짝 생각을 해보게 했다. 문자열에 숫자를 곱하면 그만큼 문자열이 붙는거였나? 해서 쥬피터로 시도해보고, 되네? 그럼 빈 문자열에 문자열 붙이면 되겠지? 라고 생각해서 해봤더니 됐다. 마지막으로 test case를 안 적어 자꾸 에러가 났는데, test case만큼 해당 함수를 반복하게끔 만들어 줬더니 끝! 출처 : 백..
코드 입력 text = input() list_alphabet = [chr(i) for i in range(ord('a'), ord('z')+1)] for a in list_alphabet: print(text.find(a), end=' ') 앞서 풀었던 아스키 코드의 ord, chr를 활용해서 쉽게 풀 수 있었다. 우선 아스키 코드로 소문자 리스트를 생성해주고, for 문으로 대상 텍스트 위치를 print하면 끝! 출처 : 백준 Online Judge https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳..
코드 입력 num_len = input() num = input() total = 0 for n in num: total += int(n) print(total) 정말 쉬운 문제였다. 각 자리 수의 합을 구하는 문제. for 문으로 str 형태의 숫자를 돌려서 각 자리 수를 int로 변환 후 더해주면 끝. 설명이 필요 없다. 출처 : 백준 Online Judge https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net
코드 입력 print(ord(input())) 이 문제는 정말 쉬웠다. 현재 인턴을 하면서, 자막을 기계적으로 변환시켜줘야 하는 로직이 필요했었는데 실제로 아스키 코드를 사용하지는 않았지만, 아스키 코드를 사용해서 변환하는 로직도 구상했었기에 함수 이름은 생각이 안 났지만, '아, 그거!' 하면서 바로 생각이 나서 구글링을 했다. 아스키 코드를 반대로 문자로 변환하는 함수는 chr()이다.나중에, 자막 변환 로직에서 사용할 일이 있다면 이 함수를 기억해야겠다. 출처 : 백준 Online Judge https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성..
코드 입력 test = [num for num in range(1, 31)] for i in range(1, 29): input_num = int(input()) test.remove(input_num) print(min(test)) print(max(test)) input해야 하는 조건때문에 또 헷갈린 문제다. input하는 대상을 randint로 1~30 이하 중에 while 문으로도 만들어봤는데, 왜인지 자꾸 런타임 에러가 발생했다. 이유를 모르겠어서 구글링을 해서 정답 로직을 대략적으로 찾아냈다. 로직 자체가 어려운 것이 아니어서, 왜 내가 시도했던 코드가 안 되는 것인지 아는 것이 중요할 것 같은데, 이유를 모르겠다.. # 원래 시도했던 코드 (런타임 에러 발생) test = [] while T..
코드 입력 total_cnt = int(input()) list_num = list(map(int, input().split())) target_num = int(input()) print(list_num.count(target_num)) 처음 문제를 접하고, 바로 이전 문제처럼 각 숫자마다 변수를 생성해서 해당 변수를 검색해야 하나 했다. 근데 그러기엔 너무 복잡하고, 사실 그렇게 복잡할까라는 의문이 들었다. 그래서 input 숫자를 굳이 처음에 제시한 숫자에 맞춰서 만들지 않고, 그냥 input 받은 상태에서 특정 숫자가 몇 번 나타내는지 count 함수를 이용해서 사용해봤다. 생각은 복잡하게 하지 말자. 의외로 쉽게 해결할 수 있는 것들은 많다. 출처 : 백준 Online Judge https://..
코드 입력 class var: def __init__(self, price, cnt): self.price = price self.cnt = cnt total = int(input()) total_cnt = int(input()) def val_price(): for i in range(1, total_cnt+1): p, c = map(int, input().split()) globals()[f'stuff_{i}'] = var(p, c) val_total = 0 for g in globals(): if 'stuff' in g: val_total += globals()[g].price * globals()[g].cnt if val_total != total: return print('No') else: r..
코드 입력 king = 1 queen = 1 rook = 2 bishop = 2 knight = 2 pawn = 8 def get_diff(n, chess): if n != chess: result = chess - n return result else: return 0 def chess(k, q, r, b, kn, p): k_ = get_diff(k, king) q_ = get_diff(q, queen) r_ = get_diff(r, rook) b_ = get_diff(b, bishop) kn_ = get_diff(kn, knight) p_ = get_diff(p, pawn) return k_, q_, r_, b_, kn_, p_ a,b,c,d,e,f = map(int, input().split()) ..