생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d3/Q6718.java 물건의 거리가 주어졌을 때, 주어진 방식으로 거리에 따라 수치를 매겨 출력하여라. 처음 생각우선, 테스트케이스의 개수가 100,000개 이므로 StringBuilder를 통해 출력을 해주어야겠다고 생각하였다. 다음 생각문제는 간단하다. 거리가 주어지면 그 거리에 해당하는 주어진 수치를 출력하면 된다. 조금 까다로운 점이라면 문제에서 거리는 m 단위로 주어지고 구분해야하는 수치는 km 를 기준으로 수치를 분류해놓았다.▶ 1km는 1000m 임을 기억하면서 문제를 풀면된다. 다다음 생각입력으로 들어오는 거리가 int형 범위를 넘지 않으므로 int로 입력을 받아주..
생각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..
생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d3/Q5549.java 주어진 숫자 N이 홀수인지 짝수 인지 판별하여라. 처음 생각N이 100자리의 양의 정수이므로 일반적인 타입으로는 입력을 받지 못한다. 다음 생각홀수 짝수를 판별하는 숫자는 맨 뒤의 1의자리 숫자만 알면되므로, String을 통해 입력을 받은 뒤 1의 자리 숫자만 취한 뒤 이를 통해 판별을 해주었다. 방안 12345678910111213141516171819package swexpert.d3; import java.util.Scanner; public class Q5549 { public static void main(String[] args) { Scanne..
생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d3/Q5688.java 주어진 수 N의 세제곱근이 있는지 구하여라. 있다면 그 수를 아니라면 -1을 출력한다. 처음 생각N이 10^18승 까지 주어지므로 무지무지 큰 숫자이다. 따라서 BigInteger를 이용해서 큰 수를 처리해 주었다. 다음 생각일일히 세제곱근이 존재하나 판단해 주었더니 시간 초과를 얻었다.▶ 에라토스테네스의 체 처럼 10^18승 이므로 10^6승 까지의 세 제곱을 미리 구해놓고 가능한지를 판단하는것으로 바꾸었다. 다다음 생각10^6승 까지의 세제곱 수를 미리 구해놓고 판단을 하기 위해서 HashMap로 Key값으로는 들어오는 값, Value로는 세제곱이 가능한..
생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d1/Q1933.java 주어진 N의 약수들을 출력한다. 처음 생각N의 약수는 N을 나눴을 때, 나머지가 0이되는 수 이다. 방안12345678910111213package swexpert.d1; import java.util.Scanner; public class Q1933 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=1;i
생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d1/Q2019.java 받은 N 값 까지의 2배한 수를 차례대로 출력하여라. 처음 생각반복문과 곱셈에 대한 문제이다. 방안1) 따로 변수를 지정해서 저장하면서 나가도 되지만 Math.pow() 메소드를 이용해 보았다. 12345678910111213package swexpert.d1; import java.util.Scanner; public class Q2019 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=0;i
생각Github - https://github.com/hellojdh/Code/blob/master/src/swexpert/d1/Q1936.java 가위 바위 보를 해서 이긴 사람을 출력하여라. 단, 비기는 경우는 없다. 처음 생각입 출력과 조건문을 따지는 문제이다. 방안1) IF ELSE 문으로도 가능하지만 3항 연산자를 사용해봤다. 12345678910111213141516171819package swexpert.d1; import java.util.Scanner; public class Q1936 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.n..
- Total
- Today
- Yesterday