생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/swtest/Q14890.java SW Expert의 활주로 건설과 같은 문제이다. 다른 점이 있다면 경사로문제는 밑면이 1일 때도 처리를 해주어야한다. 활주로 건설 문제는 밑면이 2부터이다.[SW Expert] 4014. [모의 SW 역량테스트] 활주로 건설 풀이후 생각이전에 풀었던 [활주로 건설]문제 보다는 좀 더 효율적으로 푼 느낌아닌 느낌이다. 처음 생각우선 같은 칸의 개수를 세어가다가 높이가 1차이나는 큰 블록을 만날경우는 크게 고려해줄게 없다. 하지만 요번에도 생각했던건 큰 블록에서 낮아질 경우를 처리해 주는것이 문제가 된다. ▶ 이 경우를 위해 boolean형 flag ..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/swtest/Q14499.java 크기가 N x M인 지도에 숫자들이 적혀있다. 주사위의 초기자리에는 0이 적혀있으며, 해당 지도의 숫자가 0이 아닐경우 지도의 숫자가 주사위로 복사되고, 해당 지도의 숫자가 0이면 주사위의 숫자가 해당 지도의 자리에 복사된다.(주사위의 아랫면) 주사위 하나를 굴릴 때마다 윗면의 번호를 출력하여라. 굴리다 지도 범위를 벗어나는 경우는 굴리지 않는다. 즉, 출력도 하지 않는다. 처음 생각딱봤을 때, 어떻게 해야할 까 생각이 든다면, 이미 중수나 고수가 아닐까 생각한다. 문제는 이해가 간다. 주사위는 3D로 만들어진 육면체이다. 어떻게 코드로 구현을 할 ..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/swtest/Q15684.java 사다리의 상태가 주어진다. 새로운 가로줄을 최대 3개까지 그을 수 있을 때, i번째 시작이 i번째 도착지에 도착하도록 사다리를 조작하여라 불가능한 경우 -1을 출력한다. 처음 생각생각보다 정답률이 낮은 문제이므로 최대한 직관적으로 볼 수 있도록 풀어보았다. 우선 처음드는 생각은 이 사다리의 연결 상태를 어떻게 표현해 줄 것이가에 대한 생각이 들었다. 다양한 방법들이 있을 것이다. 2차 배열을 이용해서 1과 2가 연결되어있으면 arr[1][2]=1, arr[2][1]=1로 표현을 해도되고(실제로를 가로줄의 위치가 있으니 3차 배열일 것이다.) 배열을 ..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/swtest/Q15686.java 일반 집(1)과 치킨 집(2)이 표시된 배열이 주어진다. 치킨 거리는 한 집과 치킨집 간의 거기들 중 가장 짧은 거리를 의미한다. 도시의 치킨 거리는 집들의 치킨 거리를 모두 더한 값이다. M이 주어진다. M은 살아남은 치킨 집의 수이다. 최대 M개의 치킨 집을 살리고 모두 폐업시킬 때, 도시의 치킨 거리의 최소값을 구하여라. 처음 생각치킨.. 치킨! 치킨은 언제나 옳다. 따라서 문제를 잘 풀어주어야 한다. 처음에는 치킨에 눈이 팔려서 각 집의 치킨 거리를 구하는 과정이 모든 치킨집과의 거리를 더해준 것으로 잘 못 풀었다.▶ 예제가 잘 못 나오는 것..
생각Github - https://github.com/hellojdh/Code/tree/master/src/baekjoon/q2000 9명의 난쟁이의 키가 주어진다. 7곱 난쟁이의 키의 크기의 합은 100이다. 이 때, 7곱 난쟁이가 될 수 있는 난쟁이들의 키를 오름차순으로 출력하여라. 처음 생각이렇게 여러개의 조건에서 서로 다른 n개를 택하는 조합의 경우 풀이 방법은 3가지가 있다. 1) 반복문을 통한 완전 탐색 2) 재귀를 통한 완전 탐색 3) 비트 마스크를 통한 완전 탐색 다음 생각반복문을 통한 완전 탐색에 대해 알아보면, n개를 택하면 되므로 n개의 반복문이 필요하다 따라서 이문제와 같이 7개를 택해야하는 경우에는 적절하지 않다고 볼 수 있다.▶ 실제로 4개 정도까지는 for문으로 구현을 하는게 ..
생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d4/Q5550.java 개구리가 운다. croak.. 크록크록 운다. 예를들어 croakcroak는 1 마리의 개구리가 연이어서 울고있다. croacroakk는 2마리의 개구리가 울고있다. croka 는 croak가 완성될 수 없으므로 -1을 출력한다. 입력이 주어질 때, 몇 마리의 개구리가 울고있는지 출력하여라. 처음 생각croak의 순서가 중요하므로 각 숫자를 담을 int[5] 배열을 선언해주었다.▶ c=0, r=1, o=2, a=3, k=4로 생각하였다. 다음 생각입력으로 받은 문자열을 앞에서 붙어 한 자리씩 보면서 각 배열의 index를 +1 시켜주었다. 이 때, 선행된 문..
생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d4/Q4796.java 우뚝 선 산을 찾아라, 우뚝 선 산이란 다음과 같다. 1 3 2 의 산들이 있을경우 1->3->2 가 가능하므로 우뚝 선 산은 1개이다. 다음의 경우를 보자 1 4 3 2 의 산들이 있을 경우 1) 1-> 4 -> 3 이 가능하다 2) 1-> 4 -> 3 -> 2 도 가능하다. 따라서 우뚝 선 산은 2개가 된다. 모든 산은 다른 숫자를 가지고 있다. 우뚝 선 산을 출력하여라. 처음 생각2중 반복문으로 앞에서부터 index를 +1 씩 해나가면서 우뚝선 산을 찾아주려고 하였다.▶ 주어진 N이 최대 1억이므로 시간 제한 2초를 벗어날 가능성이 크다고 판단하였다. ..
생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d4/Q5213.java L과 R의 수가 주어진다. L과 R사이의 수에서 그 수들의 약수의 홀수 값만을 모두 더한 값을 출력하여라. 예를 들어 L=6 R=10일 경우 케이스는 다음과 같다. 6 일경우 약수 1,3이 홀수이므로 4 7 일경우 약수 1,7이 홀수이므로 8 8 일경우 약수 1 이 홀수이므로 1 9 일경우 약수 1,3,9가 홀수이므로 13 10 일경우 약수 1,5가 홀수이므로 6 따라서, 4+8+1+13+6 = 32가 답이된다. 처음 생각L과 R의 범위가 1_000_000 백만 이므로 일반적으로 풀면 시간 초과가 나올것이라 생각하였다. 다음 생각에라토스테네스 체와 같이 미리..
생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d3/Q5431.java 총 학생수와 과제를 제출 사람수 그리고 제출한 사람을 줄 때, 제출하지 않은 학생을 오름차순으로 정렬하여 출력하여라. 처음 생각사람 수와 과제 제출 명 수, 제출자의 현황을 모두 주기 때문에, 사람 수 만큼 배열을 만들어 준뒤, 제출한 사람의 Index를 +1 해준뒤 제출하지 않은 0인 사람들을 출력해 주었다. 방안 1234567891011121314151617181920212223242526package swexpert.d3; import java.util.Scanner; public class Q5431 { public static void main(St..
- Total
- Today
- Yesterday