[백준][Java] 17298번 : 오큰수
·
PS/백준
[문제 링크]https://www.acmicpc.net/problem/17298문제 설명오큰수(NGE) : 현재 원소 Ai보다 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수, 존재하지 않으면 -1ex) A = {9, 5, 4, 8}인 경우 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1 문제 풀이문제에서 수열의 크기 N이 최대 1,000,000(10^6) 이다.그래서 단순하게 현재 원소를 기준으로 오른쪽에 있는 모든 원소를 다 비교해가며 오큰수를 찾으면 O(n^2)로 시간 초과가 나온다. 따라서 Stack 을 사용하면 이 문제를 풀 수 있다.(다른 풀이 참고) 스택에는 아직 오큰수를 찾지 못한 원소의 인덱스 를 담는다.for문으로 수열을 돌면서..
[프로그래머스][Java] 완주하지 못한 선수
·
PS/프로그래머스
[문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명마라톤 참여자 배열 participant 와 완주자 배열 completion이 있을 때, 완주하지 못한 한 명을 구한다. 문제 풀이1) 배열 사용(내가 푼 방식) import java.util.*;class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; //참가..
[프로그래머스][Java] 여행경로
·
PS/프로그래머스
[문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명{출발공항, 도착공항} 항상 "ICN"에서 출발해서 주어진 항공권을 모두 이용해서 여행 경로를 짠다.가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 선택한다. 문제 풀이백트래킹(DFS)먼저 주어진 항공권에서 공항명을 알파벳 순서대로 정렬한다.출발공항 기준으로 알파벳 순 정렬, 출발공항이 같으면 도착공항 기준으로 알파벳 순 정렬→ 이렇게 하면 출발공항이 같고 도착공항이 다른 경로가 있을 경우, 알파벳 순서가 더 앞선..
[백준][Java] 14226번 : 이모티콘
·
PS/백준
[문제 링크]https://www.acmicpc.net/problem/14226문제 설명화면에 1개의 이모티콘을 3가지 연산만을 가지고 s개의 이모티콘으로 만들어서 보낸다. 3가지 연산1. 화면에 있는 이모티콘을 모두 복사해서 클립보드에 저장2. 클립보드에 있는 모든 이모티콘을 화면에 붙여넣기3. 화면에 있는 이모티콘 중 하나를 삭제 문제 풀이bfs 탐색하면서 3가지 연산을 진행하고, 현재 개수(cnt)가 s와 같으면 탐색을 종료하고 cnt를 출력한다.2차원 배열 visited를 통해서 이미 방문한 상태를 중복해서 방문하지 않게 한다. 전체코드import java.io.*;import java.util.LinkedList;import java.util.Queue;class Emoticon { ..
[프로그래머스][SQL] 식품분류별 가장 비싼 식품의 정보 조회하기
·
PS/SQL
[문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/131116 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명Lv4의 문제식품 정보를 담은 FOOD_PRODUCT 테이블에서 식품분류(CATEGROY)별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회식품분류가 '과자', '국', '김치', '식용유' 인 경우만 출력식품 가격을 기준으로 내림차순 정렬 문제 풀이 ◼️ category 별로 그룹화해서 가격이 제일 비싼 식품의 카테고리, 가격 조회 → MAX_PRODUCT - IN 연산자로 CATEGORY가 '과자', '국', ..
[백준][Java] 1283번 : 단축키 지정
·
PS/백준
[문제 링크]https://www.acmicpc.net/problem/1283문제 설명5개 이하의 단어로 이루어진 옵션들에 대표 알파벳을 지정해서 단축키를 만든다. 하나의 옵션에 대해 단축키를 지정하는 방법은 아래와 같다.1. 옵션의 왼쪽에서 오른쪽 순으로 단어의 첫 글자를 단축키로 지정할 수 있는 경우, 그 알파벳을 단축키로 지정2. 옵션의 모든 단어의 첫 글자가 이미 지정되어 있는 경우, 왼쪽에서부터 차례대로 보면서 단축키로 지정할 수 있는 알파벳으로 단축키 지정3. 옵션을 이루는 모든 알파벳이 이미 단축키로 지정되어 있어 어떠한 것도 지정할 수 없는 경우, 그대로 놔둔다. 1 ~ n번째 옵션까지 단축키를 지정해서 출력 문제 풀이배열 alpha : 각 알파벳이 단축키로 사용되었는지 아닌지를 체크..