일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GIT
- 이것이 취업을 위한 코딩테스트다
- data type
- 노마드코더
- IT5분잡학사전
- icmp
- DP
- OSI7계층모델
- CS
- 컴퓨터네트워크
- 시스템 소프트웨어
- RARP
- 북클럽
- 파이썬 정렬
- sort()
- 파이썬 자료형
- 파이썬 연산자
- 이것이 취업을 위한 코딩 테스트다
- 컴퓨터 동작방식
- 이코테
- 리스트
- 데이터 통신과 컴퓨터 네트워크
- 데이터통신
- 라우팅
- 자료형
- ARP
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
- 노개북
- 기억장치
- 쿠키
- Today
- Total
목록Algorithm & Data structure (27)
뚝딱햄 탈출기
접근 방식 입력으로 주어진 M개의 수와 상근이가 가지고 있는 숫자 카드 중 일치하는 값이 있는지 순차적으로 확인한다. ❌ Solution 1 - 시간 초과 import sys n = int(sys.stdin.readline()) cards = list(map(int, sys.stdin.readline().split())) m = int(sys.stdin.readline()) num = list(map(int, sys.stdin.readline().split())) for i in num: if i in cards: print(1, end=" ") else: print(0, end=" ") 이 코드 내에서 시간이 오래 걸릴만한 부분은 if i in cards라고 생각했다. 찾아보니 리스트는 요소 하나하나를..
접근 방식 처음엔 커서를 하나의 문자열로 두고 편집기 명령어에 따라 이동시키려 했다. 알고리즘 분류가 스택인걸 먼저 확인하고 문제를 접했는데, 커서를 이동시키는 방식을 스택에 대입시키기가 쉽지 않아서 많은 고민을 했는데, 두개의 스택을 사용하면 된다는 아이디어를 접했다. 스택 유형의 문제를 많이 풀어보지 않은 나에겐 꽤나 센세이션 했다 두개의 스택을 만든다. 이를 왼쪽 스택과 오른쪽 스택이라고 가정했다. 두 스택 사이에 커서가 있다고 생각하자. 커서는 고정이 커서 대신 스택의 요소들이 움직인다. 커서는 초기에 문장의 맨 뒤에 위치하고 있다고 했으므로 왼쪽 스택에는 초기 문자열(입력값) 모두를 넣어두고, 오른쪽 스택은 비워둔다. ✅ Solution 1 import sys stack_l = list(sys...
❌ 접근 방식 교집합을 구한 후, A + B의 개수에서 2 * (A ∩ B의 개수)를 빼야겠다고 생각했다. 교집합을 구하기 위해 이중 for문을 사용해 A와 B에 중복되는 요소의 개수 즉 교집합의 개수를 구했다. ❌ Solution 1 - 시간 초과 import sys an, bn = map(int, sys.stdin.readline().split()) a = list(map(int, sys.stdin.readline().split())) b = list(map(int, sys.stdin.readline().split())) cnt = 0 for i in a: for j in b: if i == j: # 교집합 cnt += 1 print(an + bn - cnt * 2) 교집합을 구하는 연산자나 라이브러..
접근 방식 접근을 어떻게 해야 할지 아이디어를 떠올리는데 꽤나 걸렸다. 핵심은 정렬!! 가장 큰 종이 조각의 넓이를 출력하려면, 어떤 식으로 잘린 상태인지 알아야 한다. 가로 세로 각각 가장 긴 길이를 가진 사각형이 가장 큰 넓이를 가진 사각형! 따라서 사각형이 가질 수 있는 가로와 세로 길이를 알아야 한다. 우선 가로, 세로 잘린 점들을 넣을 배열을 각각 선언하고 가로 세로 입력값과, 원래 직사각형의 가로 세로 원점과 끝점을 선언한 배열에 각각 넣는다. 그 후 정렬을 하면 각 배열에서 element와 다음(또는 이전) element의 차를 이용해 길이를 구할 수 있다. 가장 큰 가로/세로 길이를 곱해 출력한다. 잘린 사각형들의 가로/세로 길이를 구하기 위해서는 정렬을 해야 한다. ⭐ 세로 배열에는 입력..