본문 바로가기

분류 전체보기

(239)
[Baekjoon] 단어 정렬 👀 문제 설명 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. 예제 입력 1 13 but i wont hesitate no more no more it cannot wait im yours 예제 출력 1 i im it no but more wait wont yours cannot ..
[Baekjoon] 치킨 배달 👀 문제 설명 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. 임의의 두 칸 (r1, c1)과 (r2, c2) 사이의 거리는 |r1-r2| + |c1-c2|로 구한다. 예를 들어, ..
[SWEA] 스도쿠 검증 👀 문제 설명 문제 로그인해야 문제를 볼 수 있다. ✍🏻풀이 스도쿠가 유효한지 체크하는 변수 isOkay를 사용해 체크해준다. 먼저, 세로줄(행)이 유효한지 체크하고, isOkay가 false일 경우, 0을 출력하고 다음 테스트케이스로 넘긴다. isOkay가 true일 경우, 가로줄(열)이 유효한지 체크하고, isOkay가 false일 경우, 0을 출력하고 다음 테스트케이스로 넘긴다. isOkay가 true일 경우, 3 x 3을 체크한다. 3 x 3의 왼쪽 위 좌표를 사용해서, 해당 좌표부터 3 x 3 사각형을 체크하면 된다. 나는 중간 중간 isOkay를 확인하고 다음으로 넘겼는데, 그냥 마지막에서 체크해줘도 제대로 동작한다. 코드 package swea; // 스도쿠 검증 (https://swexpe..
[Baekjoon] 도영이가 만든 맛있는 음식 👀 문제 설명 문제 도영이는 짜파구리 요리사로 명성을 날렸었다. 이번에는 이전에 없었던 새로운 요리에 도전을 해보려고 한다. 지금 도영이의 앞에는 재료가 N개 있다. 도영이는 각 재료의 신맛 S와 쓴맛 B를 알고 있다. 여러 재료를 이용해서 요리할 때, 그 음식의 신맛은 사용한 재료의 신맛의 곱이고, 쓴맛은 합이다. 시거나 쓴 음식을 좋아하는 사람은 많지 않다. 도영이는 재료를 적절히 섞어서 요리의 신맛과 쓴맛의 차이를 작게 만들려고 한다. 또, 물을 요리라고 할 수는 없기 때문에, 재료는 적어도 하나 사용해야 한다. 재료의 신맛과 쓴맛이 주어졌을 때, 신맛과 쓴맛의 차이가 가장 작은 요리를 만드는 프로그램을 작성하시오. 입력 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는..
[Baekjoon] 백설 공주와 일곱 난쟁이 👀 문제 설명 문제 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. 어느 날 광산에서 아홉 난쟁이가 돌아왔다. (왜 그리고 어떻게 아홉 난쟁이가 돌아왔는지는 아무도 모른다) 아홉 난쟁이는 각각 자신이 백설공주의 일곱 난쟁이라고 우기고 있다. 백설공주는 이런 일이 생길 것을 대비해서, 난쟁이가 쓰고 다니는 모자에 100보다 작은 양의 정수를 적어 놓았다. 사실 백설 공주는 공주가 되기 전에 매우 유명한 수학자였다. 따라서, 일곱 난쟁이의 모자에 쓰여 있는 숫자의 합이 100이 되도록 적어 놓았다. 아홉 난쟁이의 모자에 쓰여 있는 수가 주어졌을 때, 일곱 난쟁이를 찾는..
[SWEA] 규영이와 인영이의 카드게임 👀 문제 설명 문제 로그인해야 문제를 볼 수 있다. ✍🏻풀이 인영이의 카드로 순열을 구하고, 순열을 구할 때마다 누가 이기는지 구해주면 된다! 코드 package swea; // 규영이와 인영이의 카드게임 (https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWgv9va6HnkDFAW0&categoryId=AWgv9va6HnkDFAW0&categoryType=CODE&problemTitle=6808&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 ) import java.util.*; import java.io.*; publ..
[SWEA] 햄버거 다이어트 👀 문제 설명 문제 로그인해야 문제를 볼 수 있다. ✍🏻풀이 부분 집합을 사용해 풀면 된다. 차례대로 햄버거 재료의 정보를 ingredientScore와 ingredientCal에 입력받는다. (ingredientScore[i]는 i번째 재료의 점수, ingredientCal[i]는 i번째 재료의 칼로리) 그리고, 재귀를 사용해 부분 집합 메서드를 작성한다. 나는 powerSet이라는 메서드에 매개변수로 int cnt, int score, int cal를 받았다. cnt는 재료 cnt개까지의 부분집합을 의미한다. (cnt가 2라면, 2 인덱스까지 부분집합에 넣을지 말지 결정한 것) score는 부분 집합의 원소들의 score 합을 의미하고, cal은 부분 집합의 원소들의 칼로리 합을 의미한다. 먼저, 재..
[SWEA] 가랏! RC카! 👀 문제 설명 문제 로그인해야 문제를 볼 수 있다. ✍🏻풀이 속도를 저장하는 변수를 사용한다. 1초마다 속도 상태를 입력받으므로, 속도 상태를 입력받아 0일 경우, 가만히 두고, 1일 경우 기존의 속도에 가속도값을 더하고, 2일 경우 기존 속도에 가속도 값을 빼주면 된다. 그리고 매 초 이동한 거리를 ans에 더해준다. (거 = 속 x 시) 코드 package swea; // 가랏! RC카! (https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PjMgaALgDFAUq&categoryId=AV5PjMgaALgDFAUq&categoryType=CODE&problemTitle=%EA%B0%80%EB%9E%8F&orde..