일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AIVLE
- numpy
- 클래스
- dictionary
- Ai
- 인공지능
- 데이터
- 자바
- AI 윤리
- 정처기
- pandas
- 코딩테스트
- AI학습
- Java
- 데이터과학
- github
- 정처기 실기
- KT
- git
- 코딩
- 데이터분석
- LG Aimers
- 파이썬
- KT AIVLE
- 알고리즘
- list
- ai 전문가 과정
- Python
- 백준
- 모각코
- Today
- Total
목록백준 (7)
무향향수

더보기처음 파이썬으로 문제를 풀었을 때 채점 시간이 엄청 오래 걸리더니 결국 시간초과가 나버렸다. 언제나처럼 이중 for문을 사용한 것이 문제였고 문제를 해결한 다른 블로그를 참조하여 코드를 작성하였다. 이중 for문이 쉽고 좋은데.. 시간이 너무 오래 걸려서 슬프다. 이전까지는 이중 for문이 만능이었는데 시간복잡도나 자료구조, 알고리즘을 배우고 코드를 작성해보니 최악이라는 생각이 들기도 한다. 더 열심히 대응방안을 찾아봐야겠다. 처음에 작성했던 코드 (시간 초과)import sysN = int(sys.stdin.readline()) # 수 입력받기a = [2]for i in range(N, 1000000000000): # while문 대신 for문을 사용 x = 1 for j i..

더보기코딩테스트 백준 1920번: 수 찾기 문제를 풀다가 sys를 사용했음에도 시간초과가 떠서 통과한 다른 사람들의 코드를 참조하였다. 파이썬의 경우 대부분의 사람들이 이진 탐색(이분 탐색)을 사용하여 코드를 작성하였다. 이를 참조하여 코드를 작성하고 테스트를 통과했다. 이전까지 알고리즘을 배울 때는 잘 쓰이지도 않는데 왜 배워야하는지 의문점이 많았는데 코딩테스트에 직접 활용해보니 유용하다는 생각이 들었다. 처음에 작성했던 코드 (시간 초과)import sys# 각각 int와 list로 입력받아 저장하기N = int(sys.stdin.readline())A = list(map(int, sys.stdin.readline().split()))M = int(sys.stdin.readline())B = lis..

목차🧸 1. list(리스트) 2. tuple(튜플) 3. dictionary(딕셔너리) 더보기 학습 이유 모각코 5주차 세미나를 준비하면서 파이썬 기초 자료구조인 리스트, 튜플, 딕셔너리를 활용한 문제를 풀면 좋을 것 같아서 공부하게 되었다. 🧸 1. list(리스트) 리스트 생성시 [대괄호]로 감싸주고 쉼표로 구분해준다. a = [1, 2, 3, 4, 5] # 리스트 생성시 [대괄호]로 감싸주고 쉼표로 구분해준다. a = list() # 비어 있는 리스트 생성 리스트는 비어있는 리스트일 수도 있고, 숫자, 문자열, 숫자와 문자열 모두 그리고 리스트 자체를 요솟값으로 가질 수 있다. 즉 리스트 안에는 어떠한 자료형도 포함할 수 있다. a = [] # 비어 있음 a = [1, 2, 3] # 숫자 a = ..

2023.07.26🌸 10843 큐 ✅ 2161 카드1 ✅ 18258 큐2 ✅ 2164 카드2 ✅ 1966 프린터 큐 ✅ 🌸 10845 큐 import sys from collections import deque N = int(sys.stdin.readline()) # 명령의 수 queue = deque() for i in range(N): X = list(sys.stdin.readline().split()) # 명령어 if X[0] == "push": queue.append(X[1]) elif X[0] == "pop": if len(queue) == 0: print(-1) else: print(queue.popleft()) elif X[0] == "size": print(len(queue)) elif ..

목차🍮 1. rstrip() 개행문자 제거 2. list() 문자열을 배열로 3. 백준 10102번 해설 => rstrip(), list() 예시 🍮 1. rstrip() 파이썬에서 사용되는 rstrip()의 경우 개행문제를 제거해준다. 예를 들어 sys.stdin.readline()으로 문자열을 입력받아 배열로 바꿔주려고 하는데, 배열에 '\n'이 저장되어 원하는 값을 얻을 수 없는 경우, 문자열을 배열로 바꾸기 전에 rstrip()를 사용하여 개행문자를 삭제해준다. 🍮 2. list() list()의 경우 문자열을 배열형식으로 변경해준다. 예를들어 문자열 'ABC'가 있을 때, list()를 사용해주면 ['A', 'B', 'C'] 배열로 형식이 바뀐다. 🍮 3. 백준 10102번 import sys ..

2023.07.15 ☀️ 10817 세 수 ✅ 16435 스네이크버드 ✅ 2628 종이자르기 ✅ 2752 세수정렬 ✅ 2822 점수 계산 ✅ 1181 단어 정렬 ✅ ☀️ 10817 세 수 import sys a = list(map(int, sys.stdin.readline().split())) a.sort() print(a[1]) ☀️ 16435 스네이크버드 import sys N, L = map(int, sys.stdin.readline().split()) #과일 수, 초기 길이 a = list(map(int, sys.stdin.readline().split())) a.sort() for i in range(len(a)): # 과일 수만큼 반복 if L >= a[i]: L += 1 print(L) ☀️..

2023.07.04 🟡 11721 열 개씩 끊어 출력하기 ✅ 1120 문자열 ✅ 20310 타노스 ✅ 9086 문자열 ✅ 1302 베스트셀러 ✅ 🟡 11721 열 개씩 끊어 출력하기 import sys A, B = sys.stdin.readline().split( ) dif = len(B) - len(A) + 1 # B와 A의 길이 차 + 1 loc = [] # 각각의 count를 저장할 배열 생성 for i in range(dif): count = 0 for j in range(len(A)): if(A[j] == B[j + i]): #A와 B값을 비교하여 같으면 +1 count += 1 loc.append(count) print(len(A) - max(loc)) # A의 길이에서 loc의 max값을 빼..