코딩테스트 문제 풀이/프로그래머스
-
프로그래머스 : 대소문자 바꿔서 출력하기코딩테스트 문제 풀이/프로그래머스 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. 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
내 코드 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
다른사람 코드 _ 프로그래머스 첫번째 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 더 단축되었..
-
프로그래머스 : 신규 아이디 추천코딩테스트 문제 풀이/프로그래머스 2023. 11. 23. 00:09
다른사람 코드 _ 프로그래머스 첫 번쨰 class Solution { public String solution(String new_id) { String s = new KAKAOID(new_id) .replaceToLowerCase() .filter() .toSingleDot() .noStartEndDot() .noBlank() .noGreaterThan16() .noLessThan2() .getResult(); return s; } private class KAKAOID { private String s; KAKAOID(String s) { this.s = s; } private KAKAOID replaceToLowerCase() { s = s.toLowerCase(); return this; } pr..
-
프로그래머스 : 신고 결과 받기코딩테스트 문제 풀이/프로그래머스 2023. 11. 23. 00:09
내 코드 import java.util.*; import java.util.*; class Solution { public int[] solution(String[] id_list, String[] report, int k) { int[] answer = new int[id_list.length]; HashMap userTo = new HashMap(); HashMap userFrom = new HashMap(); for (String id: id_list) { userTo.put(id, new ArrayList()); userFrom.put(id, 0); } for (String repo: report) { String[] fromTo = repo.split(" "); if (userTo.get(fro..