일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스택
- 월간 코드 챌린지 시즌2
- 프로그래머스
- 코딩테스트
- 2중포문
- 코테
- 그리디알고리즘
- Python
- Backtracking
- 다익스트라
- 그리디
- 통계학
- DFS
- 404에러
- sort
- 동적
- 브루트포스
- 덩치
- 스프링
- 최단거리
- 최빈값
- 소트
- 퇴각검색
- 스프링프레임워크
- 백트래킹
- 백준
- 파이썬
- 소트인사이드
- 동적계획법
- 정렬
- Today
- Total
목록2021/05 (47)
취준생의 코딩테스트 연습기
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42840 # Soultion 완전탐색을 이용하여 문제를 풀었다. 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 def solution(answers): answer = [] p1 = [1, 2, 3, 4, 5] p2 = [2, 1, 2, 3, 2, 4, 2, 5] p3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] cnt1 = 0; cnt2 = 0; cnt3 = 0 for i in range(0, len(answers)): if answers[i] == p1[i%5]: cnt1+=1 if answers[i] =..
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr # Soultion DFS를 이용하여 문제를 해결했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 def dfs(x,computers): computers[x][x]=2 #들린거 표시 for i in range(len(computers[x])): if computers[x][i]==1 and computers[i][..
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr # Soultion 2번째 줄부터 차례대로 큰 수를 찾아 업데이트 시키는 방법 1 2 3 4 5 6 7 8 9 10 11 12 def solution(triangle): for i in range(1,len(triangle)): for j in range(len(triangle[i])): if j==0: triangle[i][j] += triangle[i-1][0] elif j==len(triangle[i])-1: tria..
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr # Soultion 1 2 3 4 5 6 7 8 def solution(phone_book): answer = True phone_book.sort() for i in range(len(phone_book)-1): if phone_book[i] == phone_book[i+1][:len(phone_book[i])]: answer = False ..
# 문제 링크 https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다 www.acmicpc.net # Soultion 처음에는 단순히 제곱근이 큰거부터 한개씩 제거했더니 문제가 발생하였다.12같은 경우는 9+1+1+1이므로 4개가 되는데, 실제로 최소값은 4+4+4이므로 모든 경우의 수를 확인해야하는 문제이다. 1 2 3 4 5 6 7 8 9 10 11 12 n = int(input()) dp = [i for i in range(n+1)] ..
# 문제 링크 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net # Soultion 처음에 dfs를 이용하여 문제를 풀었더니 recursion 에러가 발생하여 재귀깊이를 설정해주었다. 그래도 동일하게 문제가 발생하여 bfs로 풀었더니 동일한 에러가 발생하였다. 알고보니 input()을 받는과정에서 시간초과가 발생하였다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ..
# 문제 링크 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net # Soultion 이진탐색을 이용하여 문제해결 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 k,n= map(int, input().split()) line = [] for _ in range(k): line.append(int(input())) start = 1 end = max(line) while(start=n: #자른..
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr # Soultion 최단거리를 구하는 문제이므로 BFS를 이용하여 문제 해결. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 from collections import deque def solution(maps): answer = 0 #0벽, 1..
# 문제 링크 https://www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net # Soultion dfs를 이용하여 2가지 케이스(W,H)로 이어진 부분의 개수를 구함 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 n,m = map(int,input()...
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr # Soultion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import math def solution(str1, str2): answer = 0 arr1 = [] arr2 = [] for i in range(0,len(str1)-1): tmp = str..