loading
본문 바로가기

전체 글225

[ Backjoon - 9012번 ] 괄호 ( java ) [ Backjoon - 9012번 ] 괄호 ( java ) 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 📚 Table of Contents 문제 입력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 주어진다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 괄호 문자열이 한 줄에 주어진다. 하나의 괄호 문자열의 길이는 2 이상 50 이하이다. 출력 출력은 표준 출력을 사용한다. 만일 입력 괄호 문자열.. 2023. 12. 19.
[ Programmers ] _ 숫자 문자열과 영단어 ( java ) [ Programmers ] _ 숫자 문자열과 영단어 ( java ) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 Table of Contents 문제 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거.. 2023. 12. 18.
[ Programmers ] _ 짝수는 싫어요 ( java ) [ Programmers ] _ 짝수는 싫어요 ( java ) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 Table of Contents 문제 문제 설명 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 입출력 예 문제 풀이 문제 접근 Stream을 사용하여 문제 해결 IntStream.range(a, b) a ~ b - 1 까지의 정수를 생성한다. IntStream.rangeClosed(a, b) a ~ b 까지의 정수를 생성한다. ... 2023. 12. 18.
[ Non Linear Data Structure ] 힙 ( Heap ) [ Non Linear Data Structure ] 힙 ( Heap ) 📚 Table of Contents 힙 ( Heap ) 힙은 우선순위 큐 구현, 힙 정렬을 하기 위해 사용하는 자료구조이다. 힙은 이진 힙( Binary Heap )이라고 불리기도 한다. 여러 값 중, 최대값과 최소값을 빠르게 찾아내도록 만들어진 자료구조 반 정렬 상태를 유지 부모 노드의 키 값이 자식 노드의 키 값보다 항상 큼 / 작음 이진탐색트리(BST)와 달리 중복된 값이 허용된다. 완전 이진 트리 상태를 유지 항상 왼쪽부터 채워지는 트리( 왼쪽 자식이 없는데 오른쪽 자식 값이 있을 수 없다. ) 우선순위 큐 ( Priority Queue ) Queue : FIFO(First Out First In ) 형식의 자료구조 우선순위.. 2023. 12. 16.
[ Programmers ] _ 프로세스 ( java ) [ Programmers ] _ 프로세스 ( java ) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 Table of Contents 문제 문제 설명 제한사항 입출력 예 문제 풀이 문제 접근 ( 알고리즘 ) Queue 를 활용하여 문제 풀이 location = 확인 하는 요소의 인덱스 max = 중요도가 가장 높은 수 중요도가 가장 큰 수(max) 를 확인한다. 중요도가 가장 높은 수(max) 를 맨 앞으로 이동시킨다. max가 아닌 요소들은 뒤로 이동 max 앞으로 오면 출력시킨다. 출력 시키면 return += 1 location의 수치가 바뀌는.. 2023. 12. 16.
[ Backjoon - 1158번 ] 요스푸스 문제 ( java ) [ Backjoon - 1158번 ] 요스푸스 문제 ( java ) 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 📚 Table of Contents 문제 입력 출력 예제 문제 풀이 문제 접근 ( 알고리즘 ) 입력 : N : N명의 사람의 수 K : K번째 사람을 뽑아 요세푸스 순열을 만든다. N명이 사람이 다 뽑힐 때 까지 반복 예제 1번 입력 : 7 3 1 2 3 4 5 6 7 의 사람이 있다. 3번째 사람을 뽑아 출력 시킨다. 1 2 4 5 6 7 1 2 4 5 7 1 4 5 7 1 4 5 1 4 4 풀이 ArrayList 사용 import java.io.BufferedReader; impor.. 2023. 12. 16.
[ Programmers ] _ 의상 ( java ) [ Programmers ] _ 의상 ( java ) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 Table of Contents 문제 문제 설명 제한사항 입출력 예 문제 풀이 문제 접근 ( 알고리즘 ) 2차원 배열인 [ 의상의 이름, 의상의 종류 ]를 의상 종류의 개수가 몇 개인지 분류해서 Hash Map에 담아야 한다. 예시 입력 : [ [ "yellow_hat", "headgear" ], [ "blue_sunglasses", "eyewear" ], [ "green_turban", "headgear" ] ] 옷의 종류는 : headgear , e.. 2023. 12. 14.
[ Java ] 해시맵 ( HashMap ) [ Java ] 해시맵 ( HashMap ) 📚 Table of Contents 해시맵 ( HashMap ) 이란? 맵 : 키( Key ) 와 값( Value ) 두 쌍으로 데이터를 보관하는 자료구조이다. 해싱( Hashing ) : 키가 해시 함수를 거쳐 해시 코드로 매핑되는 과정 해시 함수( Hash function ) : 임의의길이 데이터를 고정 길이 데이터로 매핑하는 함수 해시맵 특징 Key, Value 두 쌍으로 데이터를 저장한다. Key는 유일해야 한다. ( 중복 X ) 데이터의 검색 속도가 빠르다. 대용량 데이터 관리에 좋다. HashTable vs HashMap HashMap과 사용법이 거의 동일한 컬렉션인 HashTable이 있다. 둘은 같은 자료구조이지만 자바에서 차이가 존재한다. Th.. 2023. 12. 14.
[ Programmers ] _ 나누어 떨어지는 숫자 배열 ( java ) [ Programmers ] _ 나누어떨어지는숫자 배열 ( java ) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 Table of Contents 문제 문제 설명 제한사항 입출력 예 문제 풀이 문제 접근 ( 알고리즘 ) divisor로 나누어 떨어지는 arr의 요소를 ArrayList에 담는다. 나누어 떨어지는 요소가 없는 경우 ArrayList에 요소가 없는경우 [ -1 ] 을 리턴 그 외의 경우 ArrayList의 요소를 출력할 배열에 옮김 출력 배열을 정렬 후 리턴 풀이 ArrayList 사용 import java.util.ArrayList;.. 2023. 12. 13.
[ Programmers ] _ 기능개발 ( java ) [ Programmers ] _ 기능개발 ( java ) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 Table of Contents 문제 문제 설명 제한사항 입출력 예 문제 풀이 문제 접근 ( 알고리즘 ) 각 기능의 작업 일을 계산 한다. 남은 진도(100 - 현재 진도) % 작업 속도 == 0 인 경우 큐에 ( 작업일 ) 추가 남은 진도(100 - 현재 진도) % 작업 속도 == 0이 아닌 경우 큐에 ( 작업일 + 1 ) 추가 1번 째 기능의 작업 일을 확인한다. q.pool( ) 큐가 빌 때까지 반복, n 번 째 기능의 작업 일을 확인한다. q.. 2023. 12. 12.