‡ CODING TEST STUDY ‡ 199

[프로그래머스 | Java Lv.2] 연속된 부분 수열의 합

문제https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 첫번째 코드 - 시간 초과(테스트 케이스 10~16, 20~24)class Solution { public static int[] solution(int[] sequence, int k) { int[] answer = {-1, -1}; // 초기화 시 비정상 값을 사용 for (int i = 0; i 0)) { answer[0] ..

[프로그래머스 | Java | 2017 팁스타운] 짝지어 제거하기

문제https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근처음에는 가장 직관적인 방법으로 일반 반복문을 통해서 문자열 조작을 해주려고 했는데, 몇 가지 테스트 케이스에서 실패와 시간초과가 떴다.  "짝" 지어 제거하기인 문제인 만큼, 괄호 문제에서 짝지어서 제거해줬던 것처럼 자료구조 스택을 이용해야 했던 문제이다.  첫번째 코드 - 일반 반복문 사용 (시간 초과)package week15.baek.august20.baek;public class P_P..

[백준 | Java Silver II] (#14246) K보다 큰 구간

문제https://www.acmicpc.net/problem/14246Issuecount와 sum을 int로 하면 틀렸다고 뜨고, long으로 바꿔주니까 맞았던 문제이다.  첫번째 코드 - 실패, int 사용package week14.baek.august13.baek;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class S14246 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedR..

[백준 | Java Silver IV] (#1940) 주몽

문제 https://www.acmicpc.net/problem/1940 접근투포인터를 사용해서 풀 수 있었던 문제이다.  두 재료의 합이 m이 되는 개수를 찾아야 한다.  따라서 주어진 배열을 먼저 정렬하고, start과 end로 가장 앞과 뒤에 포인터를 두고, 두개의 합이 m보다 작다면 end를 증가시켜주고, m보다 크다면 start를 감소시켜서 m 값을 찾아가도록 한다.  그렇게 start과 end의 위치가 교차되어 순서가 바뀌는 순간 while문을 종료되고, count를 출력한다. 최종 코드package week14.baek.august13.baek;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamR..

[백준 | Java Silver II] (#2961) 도영이가 만든 맛있는 음식

문제https://www.acmicpc.net/problem/2961최종 코드package week13.baek.august06;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class S2961 { static int n; // 음식의 개수 static int[] sour, bitter; // 각각 음식의 신맛과 쓴맛을 저장할 배열 static int min = Integer.MAX_VALUE; // 최소 차이를 저장할 변수, 초기값은 최대값으로 설정 // 깊이 우선 탐색(DFS) 함수 pub..

[백준 | Java Silver I] (#14889) 스타트와 링크

문제https://www.acmicpc.net/problem/14889접근n명을 n/2명씩 두 팀으로 나눠야 하기 때문에 dfs 백트래킹을 사용해야 했던 문제였고, 그 조합 별로 팀의 능력치를 구해서 가장 작은 능력치를 구하면 됐다.  최종 코드package week13.baek;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class S14889 { static int[][] arr; static int n; static int minDifference = Integer.MAX_VALUE; stat..