코딩테스트 문제 풀이
-
프로그래머스: 마지막 두 원소코딩테스트 문제 풀이/프로그래머스 2023. 11. 27. 00:01
내 코드 class Solution { public int[] solution(int[] num_list) { int idxLast = num_list.length; int[] answer = new int[idxLast + 1]; System.arraycopy(num_list, 0, answer, 0, idxLast); answer[idxLast] = answer[idxLast - 1] > answer[idxLast - 2] ? answer[idxLast - 1] - answer[idxLast - 2] : answer[idxLast - 1] * 2; return answer; } }
-
프로그래머스: 코드 처리하기코딩테스트 문제 풀이/프로그래머스 2023. 11. 27. 00:01
내 코드 class Solution { public String solution(String code) { String answer = ""; int mode = 0; for (int i = 0; i < code.length(); i++) { if (code.charAt(i) == '1') mode = 1 - mode; else if (i % 2 == mode) answer += code.charAt(i); } return "".equals(answer) ? "EMPTY" : answer; } } 조건 1. code의 i번 인덱스 자리가 1이면 mode 스위칭 ( 0 또는 1 ) 조건 2. mode = 0 일 때 , i가 짝수면 = mode == 0 && i % 2 == 0 = i % 2 == mode ..
-
프로그래머스: 이어 붙인 수코딩테스트 문제 풀이/프로그래머스 2023. 11. 26. 00:01
재미있는 문제를 발견했다 홀수인 숫자를 이어 붙인 값과 짝수인 숫자를 어어 붙인 값을 더한 결과 값을 출력하시오 내 코드 class Solution { public int solution(int[] num_list) { int danwiE = 1, danwiO = 1; int e = 0, o = 0; for (int i = num_list.length - 1; i >= 0; i--) { if (num_list[i] % 2 == 0) { e += danwiE * num_list[i]; danwiE *= 10; } else { o += danwiO * num_list[i]; danwiO *= 10; } } return e + o; } } 내 코드 2 class Solution { public int solu..
-
프로그래머스: 다트 게임코딩테스트 문제 풀이/다시 풀어볼 문제 2023. 11. 26. 00:01
으아 ㅠㅠ 이 문제 난이도 하라는데..😭 못 풀었다. 졸면서 40분 고민한것 같다ㅠㅠ 답을 찾을 수 없다고 판단해서 chat에게 코드를 부탁함.. 🙈 Chat 코드 class Solution { public int solution(String dartResult) { int[] score = new int[3]; int idx = 0; for (int i = 0; i < dartResult.length(); i++) { char c = dartResult.charAt(i); if (Character.isDigit(c)) { if (c == '1' && dartResult.charAt(i + 1) == '0') { score[idx] = 10; i++; } else { score[idx] = c - '0'..
-
프로그래머스: 수열과 구간 쿼리 2코딩테스트 문제 풀이/프로그래머스 2023. 11. 26. 00:01
이번 문제는 이해가 조금 어려웠지만 성공! 내 코드 import java.util.*; class Solution { public int[] solution(int[] arr, int[][] queries) { int[] answer = new int[queries.length]; Arrays.fill(answer, Integer.MAX_VALUE); for (int j = 0; j < queries.length; j++) { for (int i = queries[j][0]; i queries[j][2]) { answer[j] = Math.min(answer[j], arr[i]); } } if (answer[j] == Integer.MAX_VALUE) answer[j] = -1; } return answ..
-
프로그래머스 : 대소문자 바꿔서 출력하기코딩테스트 문제 풀이/프로그래머스 2023. 11. 25. 00:01
정말 오랜만에 코딩테스트 문제를 풀어보는것 같다 🙈 역시 시작은 쉬운 문제 부터 시작해야 ...🙈 내 코드 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); for (char c: a.toCharArray()) { int sign = c > 'Z' ? -1 : 1; System.out.print((char)(c + ('a' - 'A') * sign)); } } } 이런 식으로 풀이 했을 때는 걸린 시간이 import java.util.Scanner; public class Solution ..
-
프로그래머스: 올바른 괄호코딩테스트 문제 풀이/프로그래머스 2023. 11. 25. 00:01
내 코드 class Solution { boolean solution(String s) { int n = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '(') n++; else n--; if (n < 0) return false; } return n == 0; } } 스택 문제인데 스택의 동작을 생각했을 때 인덱스의 변화를 생각하며 풀어본 코드이다. '(' 입력 시 n++ ')' 입력시 n-- 로 셈 해서, n 이 음수가 되면 잘못된 괄호 묶음이고, 문자열 탐색이 끝났을 때 n == 0 이 false면 잘못된 괄호 묶음이다.
-
프로그래머스: 다리를 지나는 트럭코딩테스트 문제 풀이/다시 풀어볼 문제 2023. 11. 25. 00:01
Chat 코드 import java.util.LinkedList; import java.util.Queue; public class Solution { public int solution(int bridge_length, int weight, int[] truck_weights) { int time = 0; int currentWeight = 0; Queue bridge = new LinkedList(); for (int truckWeight : truck_weights) { while (true) { if (bridge.isEmpty()) { bridge.offer(truckWeight); currentWeight += truckWeight; time++; break; } else if (bridge...
-
백준: 색종이코딩테스트 문제 풀이/백준 2023. 11. 25. 00:01
내 코드 package baekjoon; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Test20 { public void main() { try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) { boolean[][] arr = new boolean[101][101]; int sum = 0; int n = Integer.parseInt(br.readLine()); while (n-- > 0) { StringTokenizer st = new StringTokenize..