프로그래머스
-
프로그래머스: 크레인 인형뽑기 게임코딩테스트 문제 풀이/프로그래머스 2023. 11. 24. 00:01
내 코드 1 이 코드는 스택으로 public int solution(int[][] board, int[] moves) { int answer = 0; Stack stack = new Stack(); for (int y: moves) { y = y - 1; for (int x = 0; x < board[y].length; x++) { if (board[x][y] == 0) continue; if (!stack.isEmpty() && stack.peek() == board[x][y]) { answer++; stack.pop(); } else { stack.push(board[x][y]); } board[x][y] = 0; break; } } return answer * 2; } 내 코드 2 이 코드는 Lin..
-
백준: 바구니 순서 바꾸기코딩테스트 문제 풀이/백준 2023. 11. 24. 00:01
내 코드 package baekjoon; import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) { StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); int[] arr = new..
-
프로그래머스: 카드 뭉치코딩테스트 문제 풀이/프로그래머스 2023. 11. 24. 00:01
내 코드 class Solution { public String solution(String[] cards1, String[] cards2, String[] goal) { String answer = "Yes"; int idx1 = 0, idx2 = 0; for (String g: goal) { if (idx1 < cards1.length && g.equals(cards1[idx1])) { idx1++; } else if (idx2 < cards2.length && g.equals(cards2[idx2])) { idx2++; } else { answer = "No"; break; } } return answer; } } 😊
-
프로그래머스 : 최소직사각형코딩테스트 문제 풀이/프로그래머스 2023. 11. 24. 00:01
내 코드 class Solution { public int solution(int[][] sizes) { int maxW = -1, maxH = -1; for (int[] s: sizes) { maxW = Math.max(maxW, (s[0] < s[1]) ? s[1] : s[0]); maxH = Math.max(maxH, (s[0] < s[1]) ? s[0] : s[1]); } return maxW * maxH; } } 슬럼프에서 아직 못빠져나와서 이거 한 문제만 풂..😔
-
프로그래머스: 2016년코딩테스트 문제 풀이/프로그래머스 2023. 11. 23. 00:09
내 코드 class Solution { public String solution(int a, int b) { int[] month = new int[]{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; String[] yoil = new String[]{"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"}; int temp = b - 1; for (int i = 0; i < a - 1; i++) { temp += month[i]; } return yoil[temp % 7]; } }
-
프로그래머스: 전화번호 목록코딩테스트 문제 풀이/다시 풀어볼 문제 2023. 11. 23. 00:09
내 코드 import java.util.Arrays; class Solution { public boolean solution(String[] phone_book) { Arrays.sort(phone_book); for (int i = 0; i < phone_book.length - 1; i++) { if(phone_book[i + 1].startsWith(phone_book[i])) return false; } return true; } } 질문하기에서 도움을 받아 풀었다. 하하! 🥲 정렬하면 인접한 두개의 값 중 하나가 다른 하나의 접두사인지 쉽게 알아낼 수 있다. 처음 풀어본 날 : 23.04.04 다시 풀어본 날 : 23.04.08 _ 04.09
-
프로그래머스: 완주하지 못한 선수코딩테스트 문제 풀이/다시 풀어볼 문제 2023. 11. 23. 00:09
다른 사람 풀이 _ 프로그래머스 첫 번째 import java.util.HashMap; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; HashMap hm = new HashMap(); for (String player : participant) hm.put(player, hm.getOrDefault(player, 0) + 1); for (String player : completion) hm.put(player, hm.get(player) - 1); for (String key : hm.keySet()) { if (hm.get(key) != 0){ answer = ..
-
프로그래머스: 햄버거코딩테스트 문제 풀이/프로그래머스 2023. 11. 23. 00:09
다른사람 코드 _ 프로그래머스 첫번째 class Solution { public int solution(int[] ingredient) { int[] stack = new int[ingredient.length]; int sp = 0; int answer = 0; for (int i : ingredient) { stack[sp++] = i; if (sp >= 4 && stack[sp - 1] == 1 && stack[sp - 2] == 3 && stack[sp - 3] == 2 && stack[sp - 4] == 1) { sp -= 4; answer++; } } return answer; } } 우와 기본 자료형 배열을 이용해서 가볍게 풀이된 코드이다. 내 코드보다 계산 속도가 최대 40ms 더 단축되었..
-
프로그래머스: 옹알이(2)코딩테스트 문제 풀이/프로그래머스 2023. 11. 23. 00:09
내 코드 class Solution { public int solution(String[] babbling) { int answer = 0; String[] words = {"aya", "ye", "woo", "ma"}; for (String b: babbling) { for (String word: words) { if (!b.contains(word + word)) b = b.replace(word, " "); } if ("".equals(b.replace(" ", ""))) answer++; } return answer; } } 처음 풀어본 날짜 : 23.03.31 다시 풀어본 날짜 : 23.04.01 _ 23.04.02