Algorithm283 [BOJ]2493번: 탑 https://www.acmicpc.net/problem/2493 스택으로 해결할 수 있는 문제입니다. 1. 입력으로 주어지는 탑의 높이를 큐 자료구조에 저장합니다. 2. 큐에서 나오는 각 element에 대해 필요한 연산을 하고 저장을 할 스택(rest)을 만듭니다. - 스택의 의미는 현재 큐에 나오는 element가 쏘는 레이저를 송신하는 탑을 의미합니다. 3. 큐에서 하나씩 element를 뽑으면서 내 레이저를 송신할 탑을 찾습니다. -1 현재 스택의 TOP에 있는 탑의 높이가 현재 element 탑의 높이보다 높다면 => ---- 현재 element의 레이저를 송신하는 탑으로 스택의 TOP을 저장하고 현재 element를 스택에 push합니다. -2 현재 스택의 TOP에 있는 탑의 높이가 현재 e.. 2021. 6. 18. [2020 카카오 기출] 가사 검색(JAVA) 문제: https://programmers.co.kr/learn/courses/30/lessons/60060 참고 링크: https://shjz.tistory.com/99 shjz님의 블로그 글을 참고해서 해결했습니다. 중요한 점은 3가지 입니다. 1. 트라이 사용 문제 2. 정방향 트라이와 역방향 트라이를 사용 3. 문자열 길이만큼 트라이배열을 만들어서 사용 1. 트라이 사용 문제 각 문자열에 대한 판단을 O(M) (M: 문자열의 길이)에 끝내기 위해 트라이를 사용합니다. 2. 정방향 트라이와 역방향 트라이를 사용 '?'(와일드 카드 식별자)가 중간에 나오지 않는다는 뜻은 '?'가 나온 시점에는 나머지 탐색에 대한 처리가 상수 시간에 끝나야 합니다. 그렇게 처리하지 않고 26(알파벳 크기)^(남은 문자.. 2021. 5. 24. [2018 카카오 기출] 추석 트래픽(JAVA) https://programmers.co.kr/learn/courses/30/lessons/17676 시뮬레이션 문제입니다. 1. 계산의 편의성을 위해서 시간 정보 String을 파싱해서 double 값으로 비교 연산을 수행했습니다. 2. 1초의 범위를 계산해볼 기준이 되는 구간은 로그 문자열 한 줄의 시작시간과 끝 시간입니다. 그 이유는 두 개 이상의 구간이 겹쳤을 때 겹치는 구간의 시작점 상한, 하한은 어느 한 로그 문자열의 시작점과 끝점입니다. 다시 말하면 정답이 나오는 구간은 최소 하나의 로그 문자열은 시작점과 끝점을 포함할 수 있습니다. 정답이 나오는 구간이 모든 로그 문자열의 중간 지점에서도 나올 수 있지만, 그 구간을 조금만 앞이나 뒤로 밀어서 하나의 로그 문자열의 시작점과 끝점에 맞춰도 여.. 2021. 5. 14. [2018 카카오 기출] 셔틀버스(JAVA) programmers.co.kr/learn/courses/30/lessons/17678 시뮬레이션 문제입니다. 시간을 다루는 문제를 풀 때는 아래 두 가지 함수를 사용하면 문제 풀이 시간을 단축할 수 있습니다. //1. "HH:MM" 정보를 입력받았을 때 숫자값으로 처리하는 함수 int time2Number(String formatTime); //2. 숫자값으로 처리한 시간을 다시 "HH:MM" 포맷으로 돌리는 함수 String number2Timeformat(int timeNumber); 시간의 범위가 00:00 ~23:59로 되어있으니 시간을 숫자로 파싱한 크기 비교를 통해 버스탑승 여부 판단이 가능합니다. 나머지 부분들은 문제에 나와있는 조건대로 해결하면 됩니다. 코드: github.com/cotc.. 2021. 5. 12. 이전 1 ··· 14 15 16 17 18 19 20 ··· 71 다음