본문 바로가기

Algorithm

(172)
[2020 카카오 인턴십][투 포인터] 보석 쇼핑 - Java 문제 바로가기 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 딱 보니 효율성도 검사를 한다니 N^2 돌리면 안되겠구나 싶었습니다. 회전초밥 문제를 풀었던 것처럼 풀면 어떨까 생각이 떠올라서 조금 고민해보니 비슷하게 투 포인터로 풀면 되겠구나 생각이 났씁니다. package Programmers; import java.util.*; public class Solution { static class Node implements Comparable { int start, end; Node(int s, int e){ this.start = s; this.end =..
[BOJ-17472][완전 탐색/MST] 다리 만들기 2 - Java 문제 바로가기 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net 모든 섬을 연결해야 한다... 최소 ... 하면... MST 입니다. package BOJ; import java.io.*; import java.util.*; public class Main { static class Dir{ int y, x; Dir(int y, int x){ this.y = y; this.x = x; } } static int N, M; static int[] dy = {1, -1, 0, 0}; static..
[BOJ-16236][시뮬레이션/BFS] 아기 상어 - Java 문제 바로가기 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가�� www.acmicpc.net 5개월전에 못풀었던 아기상어... 생각보다 수월하게 풀었슴니다 ^^~~ 메소드를 만들때 그게 무슨 일을 하고 뭘 리턴하는지 명확하게 정의하고 푸는 습관이 중요하다고 생각합니다~~ package BOJ; import java.io.*; import java.util.*; public class Main { static class Fish implements Comparable { Dir loc; int size; public Fish(Dir..
[2020 카카오 인턴십][문자열 처리/수식 계산] 수식 최대화 - Java 문제 바로가기 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 � programmers.co.kr 아직까진 무난합니다.... 스택 + 후위표기식 연습해보겠답시고 이렇게 풀었는데.. 코테때 이렇게 짜면 시간 엄청 잡아 먹을듯 import java.util.ArrayList; import java.util.List; import java.util.Stack; import java.util.StringTokenizer; class Solution { static int[] priority = new int[3]; //[0]: + [1]: - [..
[SWEA-1251][MST/Prim] 하나로 - Java 문제를 딱 보면 아~~ 얘는 MST를 만들어야 하는구나~~ 하는게 딱 느껴집니다. MST를 만드는 알고리즘 중에서 Prim's 알고리즘을 사용해봤습니다. import java.io.*; import java.util.*; public class Solution { static class Node{ int to; long weight; Node(int to, long weight){ this.to = to; this.weight = weight; } } public long Prim(List graph) { boolean[] v = new boolean[graph.size()]; long[] minEdge = new long[graph.size()]; Arrays.fill(minEdge, Long.MAX_..
[2020 카카오 인턴십][시뮬레이션] 키패드 누르기 - Java 문제 바로가기 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 올해 여름 인턴 코딩 테스트 1번 문항입니다. 문제에서 요구하는 그대로 코드로 표현하면 됩니다. import java.util.*; class Solution { static class Dir{ int y, x; Dir(int y, int x){ this.y = y; this.x = x; } } public int getDist(Dir h..
[BOJ-17144][시뮬레이션] 미세먼지 안녕! - Java 문제 바로가기 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 삼성 SW 역량 테스트 기출문제입니다. 특별한 알고리즘을 요하지 않는 단순 시뮬레이션 문제입니다. import java.io.*; import java.util.*; public class Main { static class Dir{ int y, x; Dir(int y, int x){ this.y = y; this.x = x; } } static int[] dy = {1, -1, 0, 0}; static int[] dx = {0, 0, 1, -1}..
[BOJ-14889][완전 탐색/조합] 스타트와 링크 - Java 문제 바로가기 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 삼성 SW 역량 테스트 기출문제입니다. 아마 개중에 가장 쉬운 문제가 아닐까 싶습니다. 조합을 만들어서 처리하면 됩니다. import java.io.*; import java.util.*; public class Main { static boolean[] selected; static int[][] S; static int N; static int answer = Integer.MAX_VALUE; public static int getAbility() { List sta..