반응형
SMALL

코딩테스트 31

[프로그래머스 Level 3] 네트워크 (Java 자바)

나는 알고리즘 문제를 풀 때 종이가 꼭 필요하다. 4문제가 있는 코딩테스트 시험에서 A4 빈 종이를 1장만 사용할 수 있다면 반으로 접어 양면을 모두 사용하는 편이다. 문제에서 주어진 것들을 나만의 방식으로 간단하게 종이에 메모하며 문제를 확실히 익힌다. 그리고선 문제에서 주어진 예제를 직접 문제방식대로 풀어본 후 예제 설명과 비교하며 문제 로직을 고안한다. 근데 이번 문제는 Level 3임에도 불구하고 사전에 로직을 생각하지도 않았는데 바로 코드를 작성할 수 있었다. 한번에 정답을 맞췄고 코드를 작성하는데 5분도 채 걸리지 않았다. 과연 이게 Level 3의 문제인가 .... Level 2에 훨씬 어려운 문제가 더 많은 거 같다 ㅎㅎ... 프로그래머스 문제 보기 https://school.program..

[프로그래머스 Level 3] 이중우선순위큐 (Java 자바)

어제 치른 PCCP 시험에서 바보같은 실수를 했다 .... 점수제로 이루어지는 PCCP 시험에서 10초 남은 시간임에도 다른 코드 고치다가 return 을 미리 구현해두지 않아 문제 다 풀어놓고 테스트 케이스를 돌려볼 수도 없게 해버렸다 .... ㅠㅠ 만점일 수도 있는걸 0점 만들어버린셈 😫 지금 생각해보면 그 전날 늦게 자서 잠을 많이 못 잔 탓에 오전에 정신이 없었던 거 같다. 아쉽지만 이미 지나간건 어쩔 수 없는 일이고,, 앞으로 잘하면 된다 ㅎㅎ 주말에 하루에 1개씩 코테 시험 치르고 뼈저리게 느낀건 ,,, 다시 코테 감각 끌어올려야지 !! 퇴사하자마자 꿀 같은 방학에 제주 여행 갔다가 공부 깔짝하고 여수 여행 갔다가 바로 유럽으로 떠나버린 나 ,,,, 신나게 놀 거 다 놀았으니 이제 진짜 공부해..

[백준 2138번] 전구와 스위치 (Java 자바) 풀이 방법

백준 2138번 문제 보기 https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net 백준 2138번 문제 풀이 import java.io.*; import java.util.*; public class Main { private static int N, check1, check2; private static String start, end; private static int[] arr1, arr2, result; public..

[프로그래머스 Level 1] 시저 암호 (Java 자바)

이제서야 시작해보는 코테 준비 ,, 아자자 요즘 새롭게 벌인 일들이 좀 있는데 다 잘해보려고 노력 중이다 지치지 말자 :) 프로그래머스 문제 보기 https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 문제 풀이 class Solution { public String solution(String s, int n) { String answer = ""; for(int i=0; i

[백준 2440번] 별 찍기 - 3 (Java 자바) 풀이 방법

백준 2440번 문제 보기 https://www.acmicpc.net/problem/2440 2440번: 별 찍기 - 3 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 www.acmicpc.net 백준 2440번 문제 풀이 import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); for(int i=0; i0; j--) { System.out.print("*"); } System.out.println(); } } } 'import java.util.*..

[프로그래머스 Level 1] 과일 장수 (Java 자바) 풀이 방법

프로그래머스 문제 보기 https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 문제 풀이 import java.util.*; class Solution { public int solution(int k, int m, int[] score) { int answer = 0; Integer[] scoreList = Arrays.stream(score).boxed().toArray(Integer[]::new); Arrays.sort(scoreL..

[백준 1149번] RGB거리 (Python 파이썬) 풀이 방법

백준 1149번 문제 보기 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 백준 1149번 문제 풀이 n = int(input()) dp = [list(map(int, input().split())) for _ in range(n)] for i in range(1, n): dp[i][0] += min(dp[i-1][1], dp[i-1][2]) dp[i][1] += min(dp[i-1][0], dp[i-1][2]) dp[i]..

[백준 1697번] 숨바꼭질 (Python 파이썬) 풀이 방법

백준 1697번 문제 보기 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 백준 1697번 문제 풀이 from collections import deque n, k = map(int, input().split()) dist = [0 for _ in range(100001)] queue = deque() queue.append(n) while queue: value = queue.popleft() if value == ..

[백준 2512번] 예산 (Python 파이썬) 풀이 방법

백준 2512번 문제 보기 https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 백준 2512번 문제 풀이 n = int(input().rstrip()) requests = list(map(int, input().split())) m = int(input().rstrip()) if sum(requests) m: end = mid - 1 elif count == m: answer = mid break else: start = mid + 1 ans..

[백준 11478번] 서로 다른 부분 문자열의 개수 (Python 파이썬) 풀이 방법

백준 11478번 문제 보기 https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 백준 11478번 문제 풀이 S = input().strip() result = set() for i in range(len(S)): for j in range(len(S)-i): result.add(S[j:j+i+1]) print(len(result)) 전체문자열 S의 길이는 5라고 가정 i는 0부터 4까지 (확인하는 부분문자열의 길이-1) j는 0부터 len(S)-i까지 (부분문자열의 길이가 전체문자열의 길이를 넘지 않도록 (전체문자..

[백준 9465번] 스티커 (Python 파이썬) 풀이 방법

백준 9465번 문제 보기 https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 백준 9465번 문제 풀이 import sys input = sys.stdin.readline sys.setrecursionlimit(10**6) T = int(input()) result = [] for _ in range(T): n = int(input()) array = [list(map(int, input().split())) for _ in range..

[백준 11725번] 트리의 부모 찾기 (Python 파이썬) 풀이 방법

백준 11725번 문제 보기 https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 백준 11725번 문제 풀이 import sys input = sys.stdin.readline sys.setrecursionlimit(10**6) n = int(input()) graph = [[] for _ in range(n+1)] level = [0]*(n+1) visited = [False]*(n+1) visited[0] = True for _ in range(n-1): start, end = map(int, input()..

[백준 11724번] 연결 요소의 개수 (Python 파이썬) 풀이 방법

백준 11724번 문제 보기 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 백준 11724번 문제 풀이 import sys input = sys.stdin.readline sys.setrecursionlimit(10**6) n, m = map(int, input().split()) graph = [[]*(n+1) for _ in range(n+1)] visited = [False]..

[백준 10026번] 적록색약 (Python 파이썬) 풀이 방법

백준 10026번 문제 보기 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 백준 10026번 문제 풀이 import sys input = sys.stdin.readline sys.setrecursionlimit(10**6) from collections import deque n = int(input()) array = [list(map(str, input().strip())) for _ in range(n)] dx = [-1, 1, ..

[백준 11660번] 구간 합 구하기 5 (Python 파이썬) 풀이 방법

백준 11660번 문제 보기 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 백준 11660번 문제 풀이 import sys input = sys.stdin.readline sys.setrecursionlimit(10**9) n, m = map(int, input().split()) table = [list(map(int, input().split())) for _ in range(n)] graph =..

[백준 1463번] 1로 만들기 (Python 파이썬) 풀이 방법

🎧나의 사춘기에게 - 볼빨간사춘기 눈물버튼 노래다 ㅠㅠ 동시에 열심히 살아야겠다는 마음가짐을 다잡도록 해주는 노래 ,, 백준 1463번 문제 보기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 백준 1463번 문제 풀이 def solution(): N = int(input()) answer = [0]*(N+1) for i in range(2, N+1): answer[i] = answer[i-1]+1 if i%2 == 0: answer[i] = min(answer[i], answer[i//2]+1) if i%3 == 0: answer[i] = min(answ..

[프로그래머스 Level 2] 디펜스 게임 (Python 파이썬) 풀이 방법

풀고 싶은 문제가 많았는데 한문제를 푸는데 시간이 꽤나 오래 걸린다. 체력적으로 소모는 많지만 뿌듯함은 커지고, 꾸준함이 중요하다는걸 점점 깨닫는다. 인스타그램을 보면 대부분이 해외로 놀러 나가있던데 물론 부럽지만 한편으로는 이 자리를 지키고 있는 내가 대견스럽기도 하며 미래가 기대되기도 한다. 정말 언젠가는 결실을 맺으리 :) 프로그래머스 문제 보기 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 문제 풀이 import heapq..

[프로그래머스 Level 3] 가장 먼 노드 (Python 파이썬) 풀이 방법

다익스트라 알고리즘과 우선순위큐를 공부하고 있어서 다른 추천 문제를 풀어보게 되었다. 고층 건물들에 반사되는 노을을 보면서 바닐라라떼 냠냠하면서 문제를 풀고 있다. 오늘은 좀 늦게까지 공부해야지! 프로그래머스 문제 보기 https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 문제 풀이 import heapq def solution(n, edge): graph = [[] for _ in range(n+1)] for i in edge: gra..

[프로그래머스 Level 2] 배달 (Python 파이썬) 풀이 방법

거의 일주일을 꼬박 아팠다... 면역력이 약해져서 성한 곳이 없었고 힘을 전혀 못 썼다 ㅠㅠ 아직도 체력 회복이 안되긴 했지만 약한 내 탓이다.. 공부하려면 체력 관리도 필수라는 말이 정말 괜한 말이 아니라는 걸 몸소 깨달았다. 지난 일주일이란 시간이 너무 아깝지만 그만큼 더 열심히 해야지! 프로그래머스 문제 보기 https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 문제 풀이 INF = 10000*50 def solution(N, ro..

[프로그래머스 Level 2] 피로도 (Python 파이썬) 풀이 방법

오늘은 하루종일 프로젝트 코딩을 했다!! 곧 출시 예정이라 떨린다.. 오늘은 어제 퇴근하기 전에 풀었던 문제를 리뷰하려 한다. 프로그래머스 문제 보기 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 문제 풀이 from itertools import permutations def solution(k, dungeons): answer = -1 array = list(permutations(dungeons, len(dungeons))) ..

반응형
LIST