백준
[백준] 정식당 17479 (Java)
https://www.acmicpc.net/problem/174790 17479번: 정식당 일반메뉴는 noodle 2개로 20,000원, 특별메뉴는 cutlet 2개와 friedrice 1개로 32,000원, 둘이 합쳐 52,000원으로 서비스메뉴 하나를 주문할 수 있다. www.acmicpc.net [문제 해결] 메뉴를 입력 받을 때 Menu이름과 가격을 menu 해쉬맵에 담아주고, 동시에 Menu 이름과 종류를 kindOfMenu 해쉬맵에 담아준다. kindOfMenu 해쉬 맵에서 사용자가 주문한 메뉴가 어떤 종류인지 확인한다. 일반 메뉴이면 일반 메뉴 가격을 업데이트 해주고 특별 메뉴이면 특별 메뉴 가격을 업데이트 해준다. 이때 특별 메뉴이면 사용자가 주문한 특별 메뉴 개수를 카운팅 해준다. 서비스..
[백준] 추월 (2002) - Java
https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net [문제 설명] 터널에 내부에서 추월한 차량의 대수를 출력하는 문제입니다. 문제를 더욱 쉽게 직관적으로 이해하기 위해 그림으로 설명 드리겠습니다. [a, b, c, d]의 자동차들이 순서대로 터널에 진입을 하게 됩니다. 그 후 아래의 그림과 같이 차량들이 터널을 빠져 나오게 되며, [d, a, c, b] 차량 순으로 차가 빠져 나오게 됩니다. d, c 차량이 추월을 한 경우이므로 추..
[백준] Cupid (16460) - Java
https://www.acmicpc.net/problem/16460 16460번: Cupid The name of a premium user, his or her gender preference, and maximum geographical distance are given, separated by a space, in the first line. The maximum geographical distance is an integer. The gender preference is one of 'F', 'FM', 'M', and 'MF', re www.acmicpc.net [문제 설명] 간략히 해석하자면, 인터넷 데이팅 서비스를 제공하는 기업에서 프리미엄 사용자에게 누가 나를 좋아했는지 확인하기"와 같은 프..
[백준] 노드 사이 거리 (1240) - Java, bfs
https://www.acmicpc.net/problem/1240 1240번: 노드사이의 거리 N(2≤N≤1,000)개의 노드로 이루어진 트리가 주어지고 M(M≤1,000)개의 두 노드 쌍을 입력받을 때 두 노드 사이의 거리를 출력하라. www.acmicpc.net [입력] 첫 번째 라인은 노드의 개수와 거리를 알고 싶은 노드의 쌍의 수가 주어진다. 두 번째 라인부터 N-1개의 줄에 노드의 쌍과 거리가 주어진다. 그 다음 라인부터는 거리를 알고 싶은 M개의 노드의 쌍이 주어진다. [문제 해결] 노드를 양방향 연결을 한다. 시작점을 큐에 넣고 방문 처리를 해준다. bfs를 돌리면서 인접 노드들의 거리를 계산해준다. 마지막 노드에 도착하면 종료한다. [Java - bfs] import java.io.Buff..
[백준 17264] I AM IRONMAN
[문제 해결] 반드시 이기는 경우, 반드시 지는 경우 2가지를 고려해 플레이어 정보를 해쉬맵에 담아 더해주면 된다. 1. 플레이어 이름 다음 L 이면 해쉬맵에 . W이면 담아준다. 2. 해쉬맵에 있는 value 값들을 전부 더 해준다. 1. 만약 졌을 경우 점수가 떨어질 때 0점 밑으로 안떨어지게 해준다. 2. 해쉬맵에 없는 플레이어 이름이 나온다면 점수를 떨군다. (해킹하지 못한 플레이어이므로 반드시 지는 경우) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.StringTokenizer; public clas..
백준 촌수 계산(2644)
촌수 계산(2644) 풀이 bfs를 통해 깊이를 세주면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class FastScanner { BufferedReader br; StringTokenizer st; public FastScanner() { br = new BufferedReader(new InputStreamReader(System.in)); } String next() { while (st == null || !st..