코딩테스트-알고리즘 93

[프로그래머스/Lv.2] [PCCP 기출문제] 2번 / 석유 시추 -2

시간초과를 해결하고 너무너무너무 기뻐서 새로 글을 쓴다 아직 하나 남았지만,, https://school.programmers.co.kr/learn/courses/30/lessons/250136#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { static int[] dx = {0, 0, -1, 1}; static int[] dy = {-1, 1, 0, 0}; static int result; static int[] resultArray; static HashSet set = new H..

[프로그래머스/Lv.2] [PCCP 기출문제] 2번 / 석유 시추

https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 생각 class Solution { static int[] dx = {0, 0, -1, 1}; static int[] dy = {-1, 1, 0, 0}; static int result; static int[] resultArray; static int oil = 1; public int solution(int[][] land) { int answer = 0; resultArray = n..

[백준 BOJ/Silver V] 2563번 : 색종이

https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); // 색종이 수 boolean[][] paper = new boolean[100][100]; in..

[백준 BOJ/Gold IV] 1987번 : 알파벳

https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 $R$칸, 가로 $C$칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 ($1$행 $1$열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 www.acmicpc.net import java.util.*; public class Main { static int R; // 세로, i static int C; // 가로, j static String[][] board; static int[] dx = {-1, 1, 0, 0}; static int[] dy = {0, 0, -1, 1}; static int result = 1; // 1행 1열부터 시작하니까..

[백준 BOJ/Silver IV] 1388번 : 바닥 장식

https://www.acmicpc.net/problem/1388 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net import java.util.Arrays; import java.util.Scanner; public class Main { static int result = 0; // 결과 static int N; // 세로, i static int M; // 가로, j static int[][] floor; public static void main(String[] args) { Scanner sc = new S..

[백준 BOJ/Silver I] 2583번 : 영역 구하기

https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class Main { static int result = 0; // 영역 개수 static int area; // 영역 넓이 static List areaList = new ..

[백준 BOJ/Silver II] 4963번 : 섬의 개수

https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net import java.util.Scanner; public class Main { static int[] dx = {-1, -1, -1, 0, 1, 1, 1, 0}; static int[] dy = {-1, 0, 1, 1, 1, 0, -1, -1}; static int result; // 결과 static int w; // 너비, j static int h; // 높이, i static in..

[백준 BOJ/Silver II] 1012번 : 유기농 배추

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net import java.util.Scanner; public class Main { // 상하좌우 static int dx[] = {-1, 1, 0, 0}; // i 움직임 static int dy[] = {0, 0, -1, 1}; // j 움직임 static int[][] land; // 전체 땅 static boolean[][] check; // 지나갔는지 체크 static int count; // 답 카운..

[프로그래머스/Lv.2] 뒤에 있는 큰 수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; import java.util.stream.Collectors; class Solution { public int[] solution(int[] numbers) { int[] answer = new int[numbers.length]; answer[answer.length-1] = -1; // stream 사용해서 List로 바꾸기 List numbersLis..

[백준 BOJ/Silver I] 2667번 : 단지번호붙이기

https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net import java.util.*; public class Main { static int N; static int[][] map; static boolean[][] visited; static int[] dx = {0, 0, -1, 1}; // x좌표 상하좌우 static int[] dy = {-1, 1, 0, 0}; // y좌표 상하좌우 static int complex = 0; // 단지 수 ..