본문 바로가기
반응형

PS 문제 풀이/Baekjoon446

[BOJ] 백준 16236 아기상어 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/16236 Input 4 4 3 2 1 0 0 0 0 0 0 9 0 1 2 3 4 Output 14 ① 처음 상어의 크기 = 2 ② 상어는 자신의 크기보다 작은 물고기만 먹을 수 있다. (물고기는 상어보다 작기만 하면 되지 크기에 대한 우선순위는 없다.) (같은 크기의 물고기는 먹을 수 없지만 해당 지점을 지나갈 수 있다.) (상어보다 크기가 큰 물고기가 있는 곳은 지나갈 수 없다.) ③ 상어는 최소 거리에 있는 물고기를 우선적으로 먹는다. (거리 = 지나가는 칸의 개수) (상어의 크기만큼 물고기를 먹으면 상어의 크기 + 1 (상어의 성장에 물고기의 크기 X / 개수 O)) ④ (최소.. 2021. 2. 21.
[BOJ] 백준 15683 감시 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/15683 Input 6 6 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 6 0 0 6 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 5 Output 15 CCTV 종류 CCTV는 감시할 수 있는 방향에 있는 칸 전체를 감시할 수 있으며 90도로 회전할 수 있습니다. CCTV의 시야는 벽을 통과할 수 없으며, CCTV끼리는 통과할 수 있다. 각각의 CCTV를 회전시켜가며 최소의 사각지대를 구하는 문제입니다. ※ 벽의 위치, 사무실 크기, CCTV 감시영역 고려 5번 카메라는 회전과 상관없이 상하좌우를 바라보고 있습니다. 문제 분석 ① CCTV의 종류는 총 5가지가 .. 2021. 2. 21.
[BOJ] 백준 1958 LCS 3 출처: https://www.acmicpc.net/problem/1958 Input abcdefghijklmn bdefg efg Output 3 두 문자열을 입력받아 LCS를 출력하는 문제 LCS (Longest Common Subsequence) 알고리즘 LCS(Longest Common Subsequence) 알고리즘 LCS(Longest Common Subsequence) '최장 공통 부분 수열'로 연속된 부분 문자열 Substring과는 다른 개념이다. ▶ [BOJ] 5582 공통 부분 문자열 가령, 아래 두 문자열이 주어졌을 때, - A B C D.. zoosso.tistory.com 3개의 문자열에서 LCS를 출력하는 문제로 3차원 배열을 활용하여 해결 import java.util.Scann.. 2021. 2. 21.
[BOJ] 백준 9252 LCS 2 출처: https://www.acmicpc.net/problem/9252 Input ACAYKP CAPCAK Output 4 ACAK LCS 길이와 공통 문자열을 출력하는 문제. LCS (Longest Common Subsequence) 알고리즘 LCS(Longest Common Subsequence) 알고리즘 LCS(Longest Common Subsequence) '최장 공통 부분 수열'로 연속된 부분 문자열 Substring과는 다른 개념이다. ▶ [BOJ] 5582 공통 부분 문자열 가령, 아래 두 문자열이 주어졌을 때, - A B C D.. zoosso.tistory.com import java.util.Scanner; public class Main { public static void mai.. 2021. 2. 21.
[BOJ] 백준 9251 LCS 출처: https://www.acmicpc.net/problem/9251 Input ACAYKP CAPCAK Output 4 LCS의 길이만 출력하는 문제이다 LCS (Longest Common Subsequence) 알고리즘 LCS(Longest Common Subsequence) 알고리즘 LCS(Longest Common Subsequence) '최장 공통 부분 수열'로 연속된 부분 문자열 Substring과는 다른 개념이다. ▶ [BOJ] 5582 공통 부분 문자열 가령, 아래 두 문자열이 주어졌을 때, - A B C D.. zoosso.tistory.com import java.util.Scanner; public class Main { public static void main(String[] .. 2021. 2. 21.
[BOJ] 백준 5582 공통 부분 문자열 (Java) 출처: https://www.acmicpc.net/problem/5582 Input ABRACADABRA ECADADABRBCRDARA Output 5 공통 부분 연속 문자열을 구하기 위해서 DP 이용. [점화식] 다음 두 문자열이 주어졌다고 가정하여, 도표를 통해 분석해보자. ABRAC BABRDC → A[i] == B[j]이면 LCS[i-1][j-1] + 1 → A[i] != B[j]이면 『0』 결과적으로 다음과 같다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] A = sc.next().toCharArray();.. 2021. 2. 21.
[BOJ] 백준 14891 톱니바퀴 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/14891 Input 10101111 01111101 11001110 00000010 2 3 -1 1 1 Output 7 총 K번 회전시킨 이후 4개의 톱니바퀴 점수 합을 출력합니다. - 1번 톱니바퀴의 12시방향이 N극이면 0점, S극이면 1점 - 2번 톱니바퀴의 12시방향이 N극이면 0점, S극이면 2점 - 3번 톱니바퀴의 12시방향이 N극이면 0점, S극이면 4점 - 4번 톱니바퀴의 12시방향이 N극이면 0점, S극이면 8점 [3]번 바퀴를 반시계방향으로 회전시킨다. [4]번 바퀴는 N-S극 규칙으로 시계방향으로 한 번 회전한다. * 3번 바퀴가 회전하기 전의 극의 정보로 인접한.. 2021. 2. 21.
[BOJ] 백준 14890 경사로 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/14890 Input 6 2 3 2 1 1 2 3 3 2 2 1 2 3 3 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 2 2 3 3 3 3 2 2 Output 7 길을 지나가는 것은 해당 길의 모든 칸의 높이가 동일해야 합니다. 또는 경사로를 놓아서 지나갈 수 있는 길을 만들 수 있습니다. [경사로 충분 조건] - 경사로는 낮은 칸에 놓으며, L개의 연속된 칸에 경사로의 바닥이 모두 접해야 한다. - 낮은 칸과 높은 칸의 높이 차이는 1이어야 한다. - 경사로를 놓을 낮은 칸의 높이는 모두 같아야 하고, L개의 칸이 연속되어 있어야 한다. (= 경사로를 놓는 밑면의 높이가 .. 2021. 2. 21.
[BOJ] 백준 14889 스타트와 링크 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/14889 Input 4 0 1 2 3 4 0 5 6 7 1 0 2 3 4 5 0 Output 0 ex) 1, 2번이 스타트 팀 / 3, 4번이 링크 팀에 속한 경우 두 팀의 능력치는 아래와 같다. Team 1: S12 + S21 = 1 + 4 = 5 Team 2: S34 + S43 = 2 + 5 = 7 ex) 1, 4번이 스타트 팀 / 2, 3번이 링크 팀에 속하면, 두 팀의 능력치는 아래와 같다. Team 1: S14 + S41 = 3 + 3 = 6 Team 2: S23 + S32 = 5 + 1 = 6 두 팀의 능력치 차이를 최솟값을 출력하는 문제입니다. 팀을 구분할 수 있는 경우.. 2021. 2. 21.
[BOJ] 백준 14888 연산자 끼워넣기 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/14888 Input 6 1 2 3 4 5 6 2 1 1 1 Output 54 -24 수와 수 사이에 연산자를 임의로 넣어서 식의 결과가 최대 최소인 것을 구하시오. ※ 연산자의 순서는 바꿀 수 있지만 주어진 수의 순서를 바꿀수 없습니다. ex) 1-2÷3+4+5*6 = 54 ex) 1*2+3÷4-5×6 = -24 * 사칙연산 우선순위를 무시하고 앞에서부터 진행합니다. 따라서, 0으로 나누는 경우는 없습니다. ex) 5 ÷ 0 (x) * 나눗셈의 경우 몫만 취합니다. (분모가 음수인 경우는 없습니다.) {(음수)÷(양수)}의 경우 음수를 양수로 바꿔 계산한 후 그 몫을 음수로 바꿉니다.. 2021. 2. 21.
반응형