목록coding study (270)
happy coding
문제 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 입력 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) B진법 수 N을 10진법으로 바꾸면, 항상 10억보다 작거나 같다. 출력 첫째 줄에 B진법 수 N을 10진법으로 출력한다. import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new B..
import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = 20; // 과목 개수 double totalScore = 0; // 총 점수 double totalCredit = 0; // 총 학점 boolean hasPFGrade = false; // P/F 과목 여부 for (int i = 0; i < N; i++) { StringTokenizer st = new StringTokenizer(br.readLine(), " ")..
문제 N개의 10진수 정수가 주어진다. 플레이어에게 정수를 그냥 정렬하는 것은 너무 쉽기 때문에, 아래 기준에 따라 정수를 정렬하기로 한다. 1. 10진수 정수를 2진수로 나타냈을 때, 2진수에 포함된 1의 개수를 기준으로 내림차순 정렬한다. 2. 1의 개수가 같다면, 원래 10진수를 기준으로 내림차순 정렬한다. 플레이어가 정수를 잘 정렬했을 때, 앞에서 K번째에 위치한 수는 어떤 수가 될지 구해보자. 입력 첫째 줄에 주어지는 정수의 수 N과 플레이어가 찾으려는 정수의 위치 K가 공백을 두고 주어진다. 둘째 줄에 정수 a1, ... , aN이 공백을 두고 주어진다. - 1
문제 구름 햄버거는 다양한 재료를 사용하여 만들어서 맛있기로 유명하다. 구름 햄버거는 N개의 재료를 순서대로 쌓아서 만들고, 구름 햄버거의 맛은 사용된 모든 재료의 맛의 정도를 더한 값이다. 완벽한 구름 햄버거를 만들기 위해서는 맛의 정도가 가장 높은 재료를 기준으로 위랑 아래로 갈수록 재료의 맛의 정도가 감소하거나 같아야 한다. 플레이어는 N개의 재료를 순서대로 쌓아서 구름 햄버거를 하나 만들었다. i번째 쌓은 재료의 맛의 정도가 ki라고 할 때, 플레이어가 만든 구름 햄버거의 맛을 구해보자. 만약 플레이어가 완벽하지 않은 구름 햄버거를 만들었다면 0을 출력한다. 입력 첫째 줄에 구름 햄버거에 들어가는 재료의 개수 N개가 주어진다. 그 다음 줄에 플레이어가 햄버거를 만들 때 쓴 재료의 맛의 정도 k1,..
문제 보통의 계산기는 한 번에 하나의 계산 결과만 나타낼 수 있다. 그래서 여러 개의 계산 결과가 필요한 경우에는 이전 계산 결과를 따로 기록해 둬야 하는 번거로움이 있었다. 플레이어는 이러한 점을 해결하기 위해서 합 계산기를 만들었다. 합 계산기는 여러 개의 계산식을 입력받은 뒤, 각각의 계산 결과를 모두 합해서 출력하는 기능을 가지고 있다. 합 계산기에 입력할 수 있는 계산식은 아래 조건을 만족해야 한다. - 계산식은 형태이다. - 에는 더하기, 빼기, 곱하기, 나누기의 네 가지 사칙 연산 기호가 들어갈 수 있다. 이때, 나눗셈 결과의 나머지는 버린다. 합 계산기에 입력할 T 개의 계산식이 주어질 때, 합 계산기의 출력 결과를 구해보자. 입력 첫째 줄에 식의 개수 T 가 주어진다. 다음 T 개의 줄에..
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder();// 출력할 결과물 저장 Stack stack = new Stack(); int N = Integer.parseInt(br.readLine()); int st..
이전 괄호 문제에서 업글업글 버전이다. 타인의 코드를 참고해서 해결했다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String input; while(true) { input = br.readLine(); if(input.equals(".")) {// 종료 조건문 break; } sb.append(testCase(input)).appen..
괄호 문제, 사실 프로그래밍언어론 과제에서 봤던 문제와 매우 유사했다. 조금 더 빨리 코테 준비를 했다면 조금 더 편하게 할 수 있지 않았을까. 그때 도움 줬던 친구들에게 고마움을 전하고 싶다 :) 일단 이 문제는, testCase라는 배열에 입력받은 괄호의 짝이 맞다면 YES, 아니라면 NO를 저장하도록 하는 문제이다. 이번에는 메소드를 하나 선언해서 해결해보았다. public static boolean isBalanced(String s) { Stack stack = new Stack(); for (char c : s.toCharArray()) { if (c == '(') { stack.push(c); } else if (c == ')') { if (stack.isEmpty() || stack.pop..