전체 글 211

[BOJ 21772] 가희의 고구마 먹방 (Java)

#문제 https://www.acmicpc.net/problem/21772 21772번: 가희의 고구마 먹방 첫 번째 줄에 맵의 세로 크기 R, 가로 크기 C, 가희가 이동하는 시간 T가 주어집니다. 두 번째 줄부터 R+1번째 줄까지 길이가 C인 문자열이 주어집니다. 주어지는 문자열에 있는 문자는 가희를 www.acmicpc.net #소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashSet; import java.util.StringTokenizer; public class BOJ21772 { public static int R, C, T, x, y; public static int max =..

[프로그래머스] 124 나라의 숫자 (Java)

#문제 https://programmers.co.kr/learn/courses/30/lessons/12899# 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr #소스코드 class Solution { public String solution(int n) { StringBuilder sb = new StringBuilder(); while(n != 0){ int nmg = n%3; n = n/3; if(nmg == 0){ sb.insert(0, 4); n--; } else { sb.insert(0, nmg); } } return sb.toString(); } } sb.insert() 함수로 지정된 Index에 문자열을 삽입할 수 있습니다.

[프로그래머스] 다음 큰 숫자 (Java)

#문제 https://programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr #소스코드 class Solution { public int solution(int n) { int oneCnt = getOneCnt(Integer.toBinaryString(n)); int next = n+1; while(true){ if(getOneCnt(Integer.toBinaryString(next)) == one..

[Java] Convert Array to List / Convert List to Array

Java로 코딩테스트 풀다보면 Array를 List로, List를 Array로 변환할 일이 종종 생깁니다. For문 사용은 제외하고 자주 쓰는 함수 정리합니다. Array를 List로 변환하기 Arrays.asList() 함수를 사용하여 Array를 List로 변환할 수 있습니다. // 1. Convert String[] to List : Arrays.asList(String[]) String[] arr1 = new String[]{"A", "B", "C", "D"}; List list1 = Arrays.asList(arr1); for(String s : list1){ System.out.println(s); } List를 Array로 변환하기 1) List.toArray() 사용 List list3 =..

💻IT/Java 2021.10.18

[프로그래머스] 파일명 정렬 (Java)

#문제 https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr #소스코드 import java.util.*; import java.util.regex.*; class File implements Comparable{ String name; String head; int number; String tail; public File(String name){ this.name = name; divide(); } ..

[프로그래머스] 스킬트리 (Java)

#문제 https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr #소스코드 import java.util.*; class Solution { public HashMap priors; public int solution(String skill, String[] skill_trees) { int answer = 0; priors = new HashMap(); for(int i = 0; i < skill.length(); i++){ priors.put(skill.charAt(i), i); } for(String s : skill_trees){ int prior = 0; boolean possible = t..

[프로그래머스] 올바른 괄호 (Java)

#문제 https://programmers.co.kr/learn/courses/30/lessons/12909 코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 programmers.co.kr #소스코드 import java.util.Stack; class Solution { boolean solution(String s) { boolean answer = true; Stack st = new Stack(); for(int i = 0; i < s.length(); i++){ char elem = s...

[프로그래머스] 숫자의 표현 (Java)

#문제 https://programmers.co.kr/learn/courses/30/lessons/12924 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr #소스코드 class Solution { public int solution(int n) { int answer = 0; int R = 1, sum = 0; for(int L = 1; L

[BOJ 22232] 가희와 파일 탐색기 (Java)

#문제 https://www.acmicpc.net/problem/22232 22232번: 가희와 파일 탐색기 첫 번째 줄에 jo_test 폴더에 있는 파일 개수 N과 가희가 설치한 OS에서 인식하는 파일 확장자의 개수 M이 공백으로 구분되어 주어집니다. 2번째 줄부터 N+1번째 줄까지 FILENAME.EXTENSION 형식의 문자열 www.acmicpc.net #소스코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.*; public class BOJ22232 { public static ..

[프로그래머스] 3진법 뒤집기 (Java)

#문제 https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr #소스코드 import java.util.*; class Solution { public int solution(int n) { int answer = 0; ArrayList arr = new ArrayList(); while(n >= 3){ arr.add(n%3); n = n/3; } arr.add(n); ..