💡Problem Solving 182

[프로그래머스] 짝지어 제거하기 (Java)

#문제 https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는..

[BOJ 21773] 가희와 프로세스 1 (Java)

#문제 https://www.acmicpc.net/problem/21773 21773번: 가희와 프로세스 1 1초일 때 부터 4초일 때 상황을 그림으로 나타내면 아래와 같습니다. 아래 그림에서 주황색은 특정 시점에 스케쥴러가 선택한 프로세스를 의미합니다. www.acmicpc.net #소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.StringTokenizer; public class BOJ21773 { public static class Work implements Comparable{ int id; int time; int priority..

[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)

#문제 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 ..