코딩테스트

    조이스틱

    조이스틱

    내 코드 import java.util.*; class Solution { public int solution(String name) { int answer = 0; int cnt = 0; int len = name.length(); int[] arr = new int[len]; for(int i = 0; i 13) arr[i] = 26 - x; else arr[i] = x; answer += arr[i]; if(arr[i] != 0) cnt++; } int index = 0; int start = 0; if(arr[0] != 0){ start = 1; arr[0] = 0; } for(int i = start; i <..

    등굣길

    등굣길

    내 코드 import java.util.*; class Solution { public int solution(int m, int n, int[][] puddles) { int[][] arr = new int[m + 1][n + 1]; arr[0][1] = 1; for(int i = 0; i< puddles.length; i++){ arr[puddles[i][0]][puddles[i][1]] = -1; } for(int i = 1; i

    미친 로봇 - 1405번

    미친 로봇 - 1405번

    모든 경로를 확인하면서 백트레킹으로 단순하지 않은 경로를 찾아주었다. 자바에 지수형 표현을 제거하기 위해 BigDecimal을 사용했다. 내 코드 package com.company; import java.io.*; import java.math.BigDecimal; import java.util.*; public class Main { static int N; static int[][] way = {{-1, 0, 0}, {1, 0, 0}, {0, -1, 0}, {0, 1, 0}}; static int[][] table = new int[30][30]; static int x = 15; static int y = 15; static double answer = 0; public static void ma..

    음식 평론가 - 1188번

    음식 평론가 - 1188번

    내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static double N, M; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Double.parseDouble(st.nextToken()); M = Double.parseDouble(st.nextToken()); double x = N * M; int c..

    N으로 표현

    N으로 표현

    내 코드 import java.util.*; class Solution { public int solution(int N, int number) { int temp = 0; ArrayList list = new ArrayList(); for(int i = 0; i < 9; i++){ list.add(new ArrayList()); list.get(i).add(temp); temp = temp * 10 + N; } for(int i = 1; i < 9; i++){ for(int j = 1; j < i; j++){ for(int k = 0; k < list.get(j).size(); k++){ for(int u = 0; u < list.get(i - j).size(); u++){ list.get(i).add..

    공약수 - 2436번

    공약수 - 2436번

    풀이 방법 유클리드 호제법 최소 공배수 = 두 자연수의 곱 / 최대 공약수 내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static long A, B; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); A = Long.parseLong(st.nextToken()); B = Long.parseLong(st.nextT..

    수고르기 - 2230번

    수고르기 - 2230번

    풀이 방법 2개의 인덱스를 사용해서 풀이했다. 선택한 두 수의 차가 M보다 크다면 앞에 있는 인덱스를 증가시키고 그 값이 최소값인지 확인해 주었다. 작다면 뒤에 있는 인덱스를 증가 시키면서 확인해주었다. 내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static long N, M; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.read..

    숫자고르기 - 2668번

    숫자고르기 - 2668번

    내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int N; static boolean[] visited; static int[] arr; static HashSet set = new HashSet(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); arr = new int[N + 1]; for (int i = 1; i

    문자열 잘라내기 - 2866번

    문자열 잘라내기 - 2866번

    풀이 방법 이분 탐색을 이용해서 풀이했다. mid값은 지운 열의 갯수라서 중복일 경우 right를 mid-1로 해줘서 더 위를 확인해주고 중복이 아니라면 지워질 수 있기 때문에 count값을 mid로 주고 left를 mid+1로 해줘서 더 지울 수 있는지 확인해주었다. 내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int R, C; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokeni..

    줄어들지 않아 - 2688번

    줄어들지 않아 - 2688번

    풀이 방법 dp를 이용해서 모든 자리 수의 개수를 구해주었다. 자릿수는 마지막 자릿수가 0,1,2....9 일 경우 따로 갯수를 구하고 더해서 총합을 구하는 방식을 사용했다. 마지막 자리가 0으로 나오는 경우는 0~9까지 모두 나오고 1로 나오는 경우는 1~9, 2로 나오는 경우는 3~9까지 나온다. 예를 들면 4자리수 중 마지막 자릿수가 0으로 나오는 수는 3자리 수의 모든 경우에서 나오고 1로 나오는 수는 3자리 수에서 마지막 자릿수가 1~9인 경우만 나오게 된다. 내 코드 package com.company; import java.io.*; import java.util.*; public class Main { static int T; public static void main(String[] ar..