[백준][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 : 각 알파벳이 단축키로 사용되었는지 아닌지를 체크..
[백준][Java] 1697번 : 숨바꼭질
·
PS/백준
[문제 링크]https://www.acmicpc.net/problem/1697문제 설명수빈의 위치 N, 동생의 위치 K에 있고, 수빈이 이동해서 동생을 찾는다.수빈의 위치가 X일 때 걸으면 1초 후에 X-1 또는 X+1, 순간이동하면 1초 후 2 * X동생을 찾을 수 있는 가장 빠른 시간을 구한다. 문제 풀이BFS로 풀이걷거나 순간이동하는 것에 상관없이 수빈이가 이동할 수 있는 방법은 3가지이다.X + 1X - 1X * 2 현재 수빈이의 위치에서 위 3가지 방법으로 이동할 수 있는 위치와 해당 위치로 이동하는 데 걸린 시간을 큐에 담는다. 이미 수빈이가 위치했던 곳은 중복해서 가지 않기 위해 boolean 배열 visited로 방문 체크한다.큐에서 하나씩 꺼낼 때마다 동생의 위치 k와 같은지 비교해..
[백준][Java] 1149번 : rgb 거리
·
PS/백준
[문제 링크]https://www.acmicpc.net/problem/1149문제 설명1 ~ N 번의 집을 아래 규칙을 따라서 빨강, 초록, 파랑 중 하나를 골라 색을 칠하는 데 드는 비용의 최솟값을 구한다.1. 1번 집의 색 != 2번 집의 색2. N번 집의 색 != N-1번 집의 색3. i번 집의 색 != i-1번, i번 집의 색 != i-2번 집의 색 문제 풀이다이나믹 프로그래밍으로 풀이N번째 집의 색이 빨간색이라면, N+1번째 집의 색깔은 초록색 or 파란색N-1번째 집의 색깔은 초록색 or 파란색dp 테이블은 2차원 배열로, column은 순서대로 빨간색(0), 초록색(1) , 파란색(2)이다.dp[i][j]는 i번째 집을 j 색으로 칠했을 때, 0~i번 집을 칠하는 데 드는 비용의 최솟값..
[백준][Java] 13335번 : 트럭
·
PS/백준
[문제 링크]https://www.acmicpc.net/problem/13335문제 설명길이가 w, 최대하중 L인 다리를 n개의 트럭이 순서대로 건너간다.동시에 다리 위에 올라가 있는 트럭들의 무게의 합은 L보다 작거나 같아야 한다.모든 트럭이 다리를 건너는 최단시간을 구한다. 문제 풀이문제에 주어진 그대로 구현하는 구현 문제idx : 현재 트럭의 번호onBridgeW 리스트: 다리 위에 올라가 있는 트럭들 무게의 합onBrdigeIdx : 다리 위에 올라가 있는 트럭들의 번호를 담고 있는 리스트distance 배열 : 각 트럭마다 다리 위를 이동한 거리를 계산한 배열move() : 다리 위에 올라가 있는 트럭들이 이동한 거리를 1씩 증가하는 메서드idx번 트럭의 무게 + onBridgeW 한 ..