문제https://www.acmicpc.net/problem/2343 해설이진 탐색을 활용하여 해결하는 문제였다. 분할하는 구간들 때문에 아이디어가 곧바로 떠오르지 않아서 시간이 꽤 오래 걸렸다. Pythonfrom sys import stdindef chk_validation(M: int, videos: list, max_size: int): running_time = 0 blue_ray_cnt = 1 for video in videos: if max_size Javaimport java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException..
문제https://www.acmicpc.net/problem/11663 해설이 문제도 이진 탐색을 이용하여 해결하여야 시간초과가 발생하지 않는 문제였다. Pythonfrom sys import stdindef min_bin_search(N, point, lst): start = 0 end = N - 1 while start Javaimport java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
문제https://www.acmicpc.net/problem/1654 해설이진 탐색을 사용하여 푸는 문제이다. 이진 탐색은 시간복잡도가 \(O(\log n)\)이다 Pythonfrom sys import stdindef solution(lst, n): start = 1 end = max(lst) while start Java1차 시도(실패)처음 구현한 코드는 아래와 같다. 하지만 Integer overflow 때문인지 오답처리되어 수정이 필요하였다. import java.io.*;import java.util.*;import java.util.Collections;public class Main { public static void main(String[] args) throws ..
문제https://www.acmicpc.net/problem/2776 해설중첩 loop를 사용하지만 set을 이용하여 검사 시간을 개선시켜 해결하는 문제였다. N이 아무리 커져도 set형태로 만들면 숫자들의 집합이므로 크기는 0~9까지 10개의 원소만 남게 되기 때문이다. Pythonfrom sys import stdindef solution(N, M): for v in M: if v in N: print("1") else: print("0")t = int(stdin.readline())for _ in range(t): n = int(stdin.readline()) note1 = set(map(int, stdin.readli..
문제https://app.codility.com/programmers/lessons/5-prefix_sums/genomic_range_query/ GenomicRangeQuery coding task - Learn to Code - CodilityFind the minimal nucleotide from a range of sequence DNA.app.codility.com 해설네이버 채용 프로세스를 진행하다 Codility라는 새로운 코딩 테스트 플랫폼을 접하게 되었다. 기존 백준과 프로그래머스, leetcode와 문제 유형이 크게 다르진 않은 것 같다. 다만 코드에 점수를 매기는 방식과 시간복잡도에 대한 평가를 보여주는 것이 달랐던 점인 것 같다. 네이버 코딩테스트를 진행하기 전 시험삼아 풀어본 문..
문제https://school.programmers.co.kr/learn/courses/30/lessons/131128 해설Counter 메소드를 사용하여 해결할 수 있었다. 문자열 비교만 수행하였을 때 시간 초과가 발생하여 시간복잡도를 고려하여야만 하는 문제였다. Counter 메소드를 사용하지 않고 직접 해당 map을 만들어 사용하는 연습을 해보아도 좋을 것 같다. from collections import Counterdef solution(X, Y): Y_map = Counter(Y) couple = [] for d in X: if 0