자바 11

[JAVA] 프로그래머스 | 12909 올바른 괄호

📝 TIL- [프로그래머스] 12909 올바른 괄호 "()()" 또는 "(())()" 는 올바른 괄호입니다.")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. 제한사항문자열 s의 길이 : 100,000 이하의 자연수문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 입출력 예입출력 예#1 🦔 설계 및 시도너무 대표적인 문제라! 금방 풀었다이 문제의 핵심은 닫는 괄호가 가장 처음 들어올 때의 처그리고 스택이 남아있으면 false를 출력하는 것이 중요하다! 1. 여는 괄호 ( 가 나오면 스택에 push2. 닫는 괄호 ) 가 나오면 2-1. 스택이 비어 있으면 return false (어차피 짝이 안맞음)2-2. 들어가 있는 (가 있으면 pop으로 빼주기3. 문자열 끝까지 실행 후 스택이 비..

TIL/알고리즘 2025.04.17

[JAVA] 프로그래머스 | 42583 다리를 지나는 트럭

📝 TIL- [42583] 다리를 지나는 트럭 문제를 요약하면 다음과 같다. 다리 위에는 bridge_length만큼 트럭이 동시에 올라갈 수 있다.다리 위 트럭들의 무게 합은 weight보다 작아야 한다.트럭은 1초마다 한 칸씩 움직인다.모든 트럭이 다리를 지나려면 몇 초가 걸리는가? 제한사항bridge_length는 1 이상 10,000 이하입니다.weight는 1 이상 10,000 이하입니다.truck_weights의 길이는 1 이상 10,000 이하입니다.모든 트럭의 무게는 1 이상 weight 이하입니다. 입출력 예입출력#1🦔 설계 및 시도1시간 동안 해결이 안돼서 정답을 본 문제. 내가 고민하던건 Queue의 경우 offerLast 즉, 값을 넣으면 빈 공간이 없이 쌓이는데,이 문제는 ..

TIL/알고리즘 2025.04.17

[JAVA] 백준 | 17413 단어뒤집기 2

📝 TIL- [백준] 17413 단어뒤집기 2 제한사항시간제한 1초메모리 제한 512MB 입출력 예입출력예 #1# 처리된 내용이 출력!baekjoon online judge // noojkeab enilno egduj tag // gatef gh // fe hg17413problem ever // 31471melborp reve 🦔 설계 및 시도문자열이 주어질 때 안(태그)은 그대로 출력,태그 밖의 단어는 공백 단위로 뒤집어 출력한다. (1차) 단순하게(사실 이것도 복잡하다고 생각했지만 가 들어오면 그대로 출력을 생각했으나 태그 안의 공백은 무시하고 그대로 출력되어야 한다. (2차) tag=0으로 초기화하여, > 가 들어오면 그대로 출력하고 tag는 다시 0으로를 생각했었는데, 계속 deque..

TIL/알고리즘 2025.04.15

[JAVA] 프로그래머스 | 17686 파일명 정렬

📝 TIL- [프로그래머스] 17696 파일명 정렬 입력 형식입력으로 배열 files가 주어진다.files는 1000 개 이하의 파일명을 포함하는 문자열 배열이다.각 파일명은 100 글자 이하 길이로, 영문 대소문자, 숫자, 공백(" "), 마침표("."), 빼기 부호("-")만으로 이루어져 있다. 파일명은 영문자로 시작하며, 숫자를 하나 이상 포함하고 있다.중복된 파일명은 없으나, 대소문자나 숫자 앞부분의 0 차이가 있는 경우는 함께 주어질 수 있다. (muzi1.txt, MUZI1.txt, muzi001.txt, muzi1.TXT는 함께 입력으로 주어질 수 있다.) 입출력 예입력#1 입력: ["img12.png", "img10.png", "img02.png", "img1.png", "IMG01.G..

카테고리 없음 2025.04.15

[JAVA] 프로그래머스 | 12906 같은 숫자는 싫어

📝 TIL- [프로그래머스] 12906 같은 숫자는 싫어https://school.programmers.co.kr/learn/courses/30/lessons/12906 제한사항배열 arr의 크기 : 1,000,000 이하의 자연수배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수 입출력 예입력#1[1, 1, 3, 3, 0, 1, 1][1, 3, 0, 1] 출력#1[1, 3, 0, 1][4, 3] 🦔 설계 및 시도1. stack을 사용하여 아예 비어있으면 값을 넣고,2. 앞의 값과 동일하면 안 넣기 / 2-1. 다르면 넣기 처음에 stack을 사용해서 아래와 같이 풀었다. public class Solution { public int[] solution(int []arr)..

TIL/알고리즘 2025.04.14

[JAVA] 프로그래머스 | 12932 자연수 뒤집어 배열로 만들기

📝 TIL- [프로그래머스] 12932 자연수 뒤집어 배열로 만들기 제한사항 n은 10,000,000,000이하인 자연수입니다  입출력 예입력#1 12345  출력#1 [5,4,3,2,1] 🦔 설계 및 시도1. 숫자를 문자열로 변환 후 뒤집기2. 하나씩 쪼개서 정수로 저장! 문제 풀이 자체는 간단했는데 parseInt, String.valueOf 등 타입과 메서드 신경써야 할 것들이 많아서 은근 오래 걸렸다  🔥 풀이에 사용된 개념 String.valueOf(n)- 숫자나 여러 타입들(int, long, boolean 등)을 문자열(String)으로 바꿔주는 메서드- n+"" 로 쓰는 것과 비슷하지만 더 명시적이고 안전하다  Integer.parseInt(문자) - 문자열을 정수(int)로 바꿔주..

TIL/알고리즘 2025.04.10

[JAVA] 프로그래머스 | 181866 문자열 잘라서 정렬하기

📝 TIL- [프로그래머스] 181866 문자열 잘라서 정렬하 제한사항1 ≤ myString ≤ 100,000myString은 알파벳 소문자로 이루어진 문자열입니다.  입출력 예입력#1 "axbxcxdx"  출력#1 ["a","b","c","d"] 🦔 설계 및 시도1. split을 이용하여 x를 기준으로 나눈다2. 이때! xxxaaa와 같은 문자열은 공백이 생기므로.. 꼭! 빈문자열은 걸러주는 작업을 해야한다.3. 남은 문자열 정렬하여 배열로 반환하기  🔥 풀이에 사용된 개념 Split(String regex)괄호 안의 regex, 정규 표현식을 기준으로 문자열을 나눌 수 있다isEmpty()문자열이 빈 문자열인지 확인! if문과 주로 함께쓰고 빈문자열이면 truelist.toArray(new St..

TIL/알고리즘 2025.04.10

[JAVA] 백준 | 15819 너의 핸들은

📝 TIL- [백준] 15819 너의 핸들 제한사항시간제한 1초메모리 제한 512MB 입출력 예입력#14 1acka1357spectaclehongmitslllluke0201 출력#1acka1357🦔 설계 및 시도사전 순서이므로 정렬은 단순 정렬이라고 생각해Arrays.sort()를 활용하기로 했다. 오히려 어려웠던 점은 핸들 수와 사전 순을 입력받고그 다음에 핸들 수만큼 입력받는, 입력단이 구현이 어려웠다.입력 첫 줄에 핸들 수, 사전 순서가 공백으로 구분되어 들어오므로StringTokenizer를 사용했다. 🔥 풀이에 사용된 개념 StringTokenizer- 문자열을 특정 구분자(delimiter) 기준으로 분리해주는 유틸 클래스- 기본 구분자 : 공백(스페이스, 탭, 개행 포함) / \n \t..

TIL/알고리즘 2025.04.07

[JAVA] 프로그래머스 | 12915 문자열 내 마음대로 정렬하기

📝 TIL- [프로그래머스] 12915 문자열 내 마음대로 정렬하기 제한사항strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소의 길이는 n보다 큽니다.인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.  입출력 예입출력 예 #1stringsnreturn["sun", "bed", "car"]1["car", "bed", "sun"]["abce", "abcd", "cdx"]2["abcd", "abce", "cdx"] 🦔 설계 및 시도처음에 map을 사용하여 각 strings의 n을 key로, 나머지는 value로 ..

TIL/알고리즘 2025.04.02

[JAVA] 프로그래머스 | 81301 숫자 문자열과 영단어

📝 TIL- [프로그래머스] 81301 숫자 문자열과 영단 제한사항1 ≤ s의 길이 ≤ 50s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다.return 값이 1 이상 2,000,000,000 이하의 정수가 되는 올바른 입력만 s로 주어집니다.  입출력 예입출력 예 #1sresult "one4seveneight" 1478 "23four5six7" 234567 "2three45sixseven" 234567  🦔 설계 및 시도처음에 map으로 넣을까 하다가 put 을 10번 쓰기가 귀찮아서String 배열을 생성한 후 값을 넣었다. 1. String[] 배열에 zero~ten 넣기(만약 중간에 숫자가 비어있거나, 랜덤값이라면 map을 사용해야함)2. replace() 메서드를 ..

TIL/알고리즘 2025.04.01