목록CodingTest/Java (342)
기록방
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 number 배열에서 3개를 뽑았을 때 합이 0이되는 경우의 수를 출력한다. number.length C 3 의 조합 문제이다. 🔸 코드 🔸 class Solution { private int ans; public int solution(int[] number) { ans = 0; comb(number, 0, 0, 0); return ans; } private void comb(int[] number, int start, int cnt, int sum) { if (cnt == 3..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 0~9로 이루워진 두 문자열 X, Y가 입력된다. X, Y의 길이는 300만까지이다. 0으로 시작하지 않는다. 두 문자열이 공통으로 갖고 있는 숫자가를 짝꿍이라고 한다. 두 문자열의 짝꿍으로 만들 수 있는 가장 큰 숫자를 리턴한다. X, Y의 길이가 300만 까지 가므로, split등으로 배열에 저장하면 시간초과가 날 수 있다. 단순 반복문으로 숫자를 카운트해 저장한다. 짝꿍 문자열을 결과 문자열로 만든다. 결과 문자열의 길이도 300만이 될 수 있으므로 StringBuilder..
👉 문제링크 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 🔸 문제 분석 🔸 R x C 격자판에 M마리의 상어가 있다. 1초에 낚시왕이 오른쪽으로 한 칸 이동하고, 상어들은 속도 만큼 이동한다. 낚시왕이 이동 했을 때 같은 열의 가장 위쪽에 있는 상어를 잡는다. 상어가 겹치면 크기가 큰 상어가 다 잡아먹고 혼자 남는다. 상어가 이동할 때 벽에 부딛히면 반대 방향으로 마저 이동한다. 낚시왕이 끝까지 이동했을 때 잡은 상어 크기의 합을 출력한다. 낚시왕 이동 후 상어들의 움직임을 순서대로 구현..
👉 문제링크 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 🔸 문제 분석 🔸 10 x 10 게임판에서 100개의 칸 중 첫 칸에서 마지막 칸 까지 가야한다. 주사위 값을 원하는 대로 던질 수 있다. 사다리를 만나면 연결 된 칸으로 내려가고, 뱀을 만나면 연결 된 칸으로 올라간다. 사다리와 뱀이 겹치거나 연속 된 곳은 없다. 주사위 경우의 수를 BFS로 모두 확인하며 도착하는 최단 경로를 구한다. 🔸 코드 🔸 import java.io.BufferedReader; ..
👉 문제링크 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 🔸 문제 분석 🔸 N x N 격자공간에서 좌상단부터 우상단으로 파이프를 이동시킬 수 있는 경우의 수를 출력한다. 파이프는 오른쪽, 우하단 대각선, 아래로 밀 수 있다. 격자공간에는 돌이 있다. 파이프를 돌릴 때 확보되어야 하는 공간에 돌이 있거나 격자 공간을 벗어나서는 안된다. DFS로 끝까지 도착하는 경우를 카운트한다. 기존 가로 일때는 가로와 대각선, 기존 세로 일때는 세로와 대각선, 기존 대각선 일때는 세 가지 모든 경우..