구현

알고리즘보다 자료구조에 대해 생각해본 문제! 시간이 된다면 자료구조도 정리해 볼 참이다. 시작-! 문제 https://www.acmicpc.net/problem/18917 18917번: 수열과 쿼리 38 3번째 쿼리가 끝난 이후 배열의 상태는 [0, 3, 1, 4]이다. 6번째 쿼리가 끝난 이후 배열의 상태는 [0, 3, 1, 4, 1]이다. 10번째 쿼리가 끝난 이후 배열의 상태는 [0, 3, 1]이다. www.acmicpc.net 설계 알고리즘 설계 [접근방법] : 구현 정수를 입력받아 추가하고 제거하는 것을 ArrayList()로 설계했다. 하지만 remove를 하는 과정에서 시간복잡도가 O(n)이 걸려 LinkedList()로 변경했다. 하지만 그럼에도 시간초과가 발생했다. 생각해보면, 값이 추가..
구현이 점점 멀어지는 것 같아서 실버부터 다시 차근 차근 도전 중! 확실히 구현은 다른 것들보다 생각도 많이 하고, 시간도 오래걸리는 것 같다. 문제 https://www.acmicpc.net/problem/1614 1614번: 영식이의 손가락 1, 2, 3, 4, 5, 4, 3, 2, 1, 2, 3, 4, 5, 4, 3 위와같이 세면 총 15를 셀 수 있다. 2번째 손가락을 3번 이용했으니 더 이상 사용할 수 없다. www.acmicpc.net 설계 알고리즘 설계[접근방법] : 구현 고장난 손가락의 사용할 수 있는 횟수가 10억이므로 평범한 반복문으로 횟수를 세면 시간초과가 발생할 것이라 생각했다. 그래서 처음과 중간, 끝 부분을 나누고 횟수를 사칙연산으로 계산했다. 가장 먼처 처음이다. 처음에는 사용..
위상정렬인가, 아니면 그냥 구현인가 계속 고민하다가 구현으로 푼 문제! 사실 위상정렬도 복습하긴 해야 한다. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 알고리즘 설계 [접근 방법] : 구현 문자열을 배열로 변경하고, 그 배열을 리스트로 바꿔서 리스트에 있는 메서드를 사용하는 것이 관건이었다. 풀이 과정 1. 선행과정을 String 문자열에서 String 리스트로 변경한다. 2.유저들이 만든 스킬트리 배열 값을 String리스트로..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 알고리즘 설계 [접근 방법] : 구현 특별한 알고리즘 방식이 있는 문제가 아니라 그냥 구현한는 문제다. 그래서 다양한 방법이 있을 것이라 생각된다. 나는 map을 중심으로 구현을 했다. 풀이과정 1. 입차/출차 기록을 담을 infoMap과 각각의 자동차가 주차를 총 몇 분했는지 담을 timeMap을 생성한다. 주차시간을 담을 map은 자동차 번호로 정렬해야하므로, comparator을 ..