codingTest
-
[Java] leetcode 819. Most Common WordcodingTest 2024. 10. 28. 19:50
https://leetcode.com/problems/most-common-word/description/문제 분석금지된 단어를 제외하고 가장 자주 언급된 단어를 출력한다.(대소문자 구분X, 구두점은 무시한다.)입출력 예시Input: paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.", banned = ["hit"]Output: "ball"사고의 흐름금지 단어 replaceAll공백으로 splitMap에 넣기풀이개수를 세기 쉽도록 Map을 이용하였다.banned 배열은 금지하는 단어에 해당되는지 비교가능하도록 Set으로 만들어준다.public static String mostCommonWord(String paragraph, Str..
-
[Java] leetcode 937. Reorder Data in Log FilescodingTest 2024. 10. 28. 13:29
어제 푼 문제인데, 간단한듯 하지만 java 메서드에 대해 잘 모르는 나에겐 신기한 문제였다.문제 분석로그를 배열하는데, 다음과 같이 두 종류가 있다.Letter-logs : 모두 영어 소문자Digit-logs : 모두 숫자재정렬하여 반환하는 문제인데, 아래와 같은 규칙을 따라야 한다.letter-logs가 digit-logs보다 앞에 와야 한다.letter-logs는 사전순으로 배열한다.동일한 경우, idx 순digit-logs는 입력 순서를 유지한다.입출력 예시Input: logs = ["dig1 8 1 5 1","let1 art can","dig2 3 6","let2 own kit dig","let3 art zero"]Output: ["let1 art can","let3 art zero","let2..
-
[Java] leetcode 125. Valid PalindromecodingTest 2024. 10. 7. 21:58
(https://leetcode.com/problems/valid-palindrome/description/)1. 아이디어많이 풀어본 팰린드롬 문제..자바는 어떻게 푸는 것이 효율적일까?풀이1. 문자 단위로 추출하여 양쪽에서 비교하며 좁히는 방식풀이2. 문자열 자체를 복사하고 뒤집어서 비교풀이1. 문자 단위로 추출 (String.chatAt(idx) 메서드를 이용)문자 단위로 추출하여 양쪽에서 비교하며 좁히는 방식을 이용자바에서는 원시형에 거의 1:1 대응하는 참조형을 지원하는데,다양한 메서드를 지원하는 참조형은 사용하기엔 편리하지만 원시형에 비해 메모리를 많이 차지하고, 시간이 오래 걸린다.문자 단위로 추출하는 방식을 사용하면 원시형인 char 를 이용하기 때문에 실행 속도가 매우 빠르다.charAt(..
-
programmers 258711 - 도넛과 막대 그래프codingTest 2024. 7. 9. 10:59
요구사항세 타입의 그래프도넛 모양 그래프막대 모양 그래프8자 모양 그래프단방향 간선크기가 n인 도넛의 모양 그래프는 n개의 정점과 n개의 간선이 존재구하려는 것세 타입의 그래프 여러 개가 있고, 그와 무관한 정점을 하나 그린 뒤, 각 그래프의 임의의 정점 하나로 향하는 간선들을 연결했다.간선 정보가 주어지면 [생성한 정점의 번호, (정점 생성 전) 도넛그래프 수, 막대 그래프 수, 8자 그래프 수]를 담은 1차원 배열을 return입력[[2, 3], [4, 3], [1, 1], [2, 1]]출력[2, 1, 1, 0]문제 첫인상도넛이 세가지 있구나깊이 우선으로 탐색해보자생성한 정점은 어떻게 계산할 수 있을까막대 그래프는 루프가 없는 경우로 판별하면 되겠다도넛 그래프는 루프가 하나 있는 경우로 판별하면 되겠..
-
BOJ 1018 - 체스판 다시 칠하기codingTest 2024. 7. 6. 01:01
요구사항MN개의 단위 정사각형으로 나누어져 있는 MxN 크기의 체스보드어떤 정사각형은 검은색, 나머지는 흰색이 보드를 잘라서 8x8 크기의 체스 보드를 만든다.체스판의 요건검은색과 흰색이 번갈아(변을 공유하는 두 개의 사각형은 다른 색으로)체스판을 칠하는 경우는 두 가지맨 왼쪽 위 칸이 흰색맨 왼쪽 위 칸이 검은색8x8 로 자른 후에 몇 개의 정사각형을 추가로 칠한다.다시 칠해야 하는 정사각형의 최소 개수?입력M NWBWBWBWBBWBWBWBWWBWBWBWBBWBBBWBWWBWBWBWBBWBWBWBWWBWBWBWBBWBWBWBW첫째 줄에 N과 M이 주어진다. (50 >= N,M >= 8)둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어짐B는 검은색, W는 흰색출력1다시 칠해야 하는 정사각형의 최소 ..