본문 바로가기

Algorithm/Programmers

(46)
[2020 KAKAO BLIND RECRUITMENT][시뮬레이션/완전 탐색] 자물쇠와 열쇠 - Java 문제 바로가기 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 휴.. .겨우 풀었슴니다.... 괜히 똘똘하게 풀어볼려다가 다 실패하고.. 완전탐색으로 풀었스빈다.. import java.util.ArrayList; import java.util.List; class Solution { static int M; static int N; static class Dir{ int y, x; Dir(int y, int x){ this.y = y; this.x = x; } } public boolean check(int[][] entireMap) { for(int i ..
[2020 KAKAO BLIND RECRUITMENT][문자열 처리] 괄호 변환 - Java 문제 바로가기 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 괄호를 다루는 문제입니다. 파라미터의 조건이 많아서 고려해줘야 할게 비교적 적어서 쉽게 풀 수 있었씁니다. import java.util.Stack; public class Solution { public boolean isAlright(String s) { Stack stack = new Stack(); for(int i = 0; i < s.length(); i++) { if(!stack.isEmpty() && stack.peek() == '('..
[2020 KAKAO BLIND RECRUITMENT][문자열 처리] 문자열 압축 - Java 문제 바로가기 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 문자열을 다루는 문제입니다. 문자열을 몇 개 단위로 자를지 모두 봐줘야 하고, 문자열의 길이는 최대 1000이기 때문에 2중 for문으로 쉽게 풀 수 있습니다. class Solution { public int solution(String s) { int answer = s.length(); for(int subLen=1;subLen1) newStr+=Integer.toString(cnt)+standard; else newStr+=standa..
[2018 KAKAO BLIND RECRUITMENT][문자열 처리] [1차] 비밀지도 - Java 문제 바로가기 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 입력으로 들어오는 숫자들을 토대로 지도를 만드는 문제입니다. class Solution { public static String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n]; for(int i = 0; i < n ;i++) { answer[i] = Integer.toBinaryString(arr1[i] | arr2[i]); answer[i] = Str..
[2017 카카오코드 예선][BFS] 카카오프렌즈 컬러링북 - Java 문제 바로가기 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 기본적인 BFS 문제입니다. 그림에 있는 영역의 개수와 그 중 가장 큰 영역의 칸의 개수를 구하면 됩니다. import java.util.Arrays; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Queue; class Solution { static class Dir{ int y, x; Dir(int y, int x)..
[Summer/Winter Coding(2019)][시뮬레이션] 종이접기 - Java 문제 바로가기 코딩테스트 연습 - 종이접기 직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽�� programmers.co.kr 규칙을 찾아서 풀었씀니다. class Solution { public int[] solution(int n) { if (n == 1) { int[] ret = { 0 }; return ret; } int[] b = solution(n - 1); int[] a = new int[b.length * 2 + 1]; System.arraycopy(b, 0, a, 0, b.length); a[b.length] = 0; int[] c = new ..