일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 통신과 컴퓨터 네트워크
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
- CS
- 북클럽
- 데이터통신
- 파이썬 자료형
- 파이썬 정렬
- GIT
- 컴퓨터 동작방식
- 파이썬 연산자
- 시스템 소프트웨어
- OSI7계층모델
- sort()
- 라우팅
- RARP
- data type
- 이것이 취업을 위한 코딩테스트다
- 기억장치
- ARP
- 이것이 취업을 위한 코딩 테스트다
- DP
- 쿠키
- 자료형
- 이코테
- 리스트
- icmp
- 노마드코더
- 컴퓨터네트워크
- IT5분잡학사전
- 노개북
- Today
- Total
목록Algorithm & Data structure (27)
뚝딱햄 탈출기
프로그래머스에서만 문제 풀다가 백준에서 문제를 풀고 직면한 문제...... 바로 입력 🫥🫥🫥 기존에 입출력에 대해 정리한 글이 있지만, 다시 정리하며 머리에 넣어본다. 입력 input()이 아닌 sys.stdin.readline()을 사용하자. (훨씬 빠른 속도로 입력값을 받는다 !) 문제를 풀 때, 입력의 개수가 많은 경우가 있다. input()으로 입력값을 받으면 시간 초과가 발생할 수 있다. sys.stdin.readline()을 사용할 땐 sys 라이브러리를 import 해주어야 한다. 또한 입력값이 str로 들어오기 때문에 숫자를 입력받는다면 int()를 통해 형변환을 시켜주어야 한다. sys 라이브러리를 사용할 때는 한 줄 입력을 받고 나서 rstrip() 함수를 반드시 호출해야 하는데, re..
내 풀이 import sys n = int(sys.stdin.readline()) tc =[sys.stdin.readline().strip() for i in range(n)] # 중복 단어 제거 tc = list(set(tc)) # sort()는 리스트 메서드이므로 다시 리스트형으로 변환. # 길이 짧은 순으로 정렬 후 길이 같으면 사전 순으로 정렬 tc.sort(key = lambda x : (len(x), x)) # 단어 한 줄에 하나씩 출력 for i in tc: print(i) 풀이 방식 처음엔 문제에 기술된 순서대로 코드를 작성하려 했다. 단어 길이 순으로 정렬 단어의 길이가 같고, 두 단어가 같으면 단어 한개 삭제 (중복 제거) 단어의 길이가 같고, 두 단어가 다르면 사전 순으로 정렬 그러나..
내 오답 import sys n_num = sys.stdin.readline()# 수의 개수 n = list(map(int, sys.stdin.readline().split()))# n개의 수 입력 # n개의 수 중 소수 개수 (리스트 n에서 소수 개수) prime_cnt = 0 for i in n: # 소수 판별. 소수는 1과 자기 자신(= i)으로만 나눠지는 수. if i < 2: continue else: # i는 2 이상의 수 for j in range(2, i):# j는 2부터 (i - 1)까지의 수 if i % j == 0: break prime_cnt += 1 print(prime_cnt) if i % j == 0: break 가 수행되면 i는 1과 자기 자신 외의 숫자로도 나눠지기 때문에 ..
JS로 풀 때도 너무너무 어려웠던 분수의 덧셈 .. 파이썬으로 풀어도 역시나 어려웠다. 내 풀이 def solution(numer1, denom1, numer2, denom2): # 분자: numer, 분모: denom denom = denom1 * denom2 numer = numer1 * denom2 + numer2 * denom1 # 기약분수 만들기 # denom과 numer의 최대공약수 구하기 # 최대공약수로 denom과 numer를 각각 나누고, 그 몫을 denom과 numer에 할당 # return [numer, denom] 통분할 때 두 분수의 분모가 같은 경우와 다른 경우를 고려하지 않고 두 분모를 곱해주었다. 통분된 분수를 최대공약수로 분모와 분자를 각각 나눠 기약분수로 만들기 위해 정말..