반응형
전체 글

전체 글

    [BOJ][Java] 4344번 - 평균은 넘겠지

    [BOJ][Java] 4344번 - 평균은 넘겠지

    과연 그럴까요? https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자 www.acmicpc.net 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다..

    [BOJ][Java] 8958번 - OX퀴즈

    [BOJ][Java] 8958번 - OX퀴즈

    문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 문제 설명 OX퀴즈의 점수를 계산하는 문제. O가 연속적으로 발생할 수록 점수 배점이 높아진다. 점수 배점을 저장하는 변수를 만들어 O일 때마다 1을 높여주고 X가 나오면 0으로 초기화시키면서 계산하면 된다. 성공 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ..

    [BOJ][Java] 3052번 - 나머지

    [BOJ][Java] 3052번 - 나머지

    문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 문제 설명 힌트를 보면 이해가 쉽다. 배열에 10개의 나머지 값을 집어넣고 중복을 걸러내는 문제이다. 배열의 중복을 거르는 방법은 밑의 블로그를 참고해 HashSet을 사용했다. https://m.blog.naver.com/pgh7092/221130579329 JAVA 자바 리스트(List) 중복 제거하는 3가지 방법 자바에서 중복을 제거하는 방법은 여러 가지가 있다. 본 포스팅에서는 총 3가지 방법에 대해서 설..

    [HackerRank] Day 3: Conquer Conditionals (조건문)

    문제 https://www.hackerrank.com/challenges/30-conditional-statements/problem?h_r=email&unlock_token=68c03dd0408a3745788aa7b72fd3e00d7a255910&utm_campaign=30_days_of_code_continuous&utm_medium=email&utm_source=daily_reminder Day 3: Intro to Conditional Statements | HackerRank Get started with conditional statements. www.hackerrank.com 문제 설명 정수 n을 입력받는다. n이 홀수이면 Weird 출력 n이 짝수이고 2~5 사이에 있으면 Not Weir..

    [BOJ][Java] 2577번 - 숫자의 개수

    [BOJ][Java] 2577번 - 숫자의 개수

    문제 답(Java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader((System.in))); Buffe..

    [BOJ][Java] 2562번 - 최댓값

    [BOJ][Java] 2562번 - 최댓값

    1차원 배열 - 최댓값이 어디에 있는지 찾는 문제 답 (Java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.IOException; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader ..

    [HackerRank][Java] Day 2: Operators(연산자)

    [HackerRank][Java] Day 2: Operators(연산자)

    문제 (링크) 문제 설명 어렵지 않게 문제에 나온 식만 따라하면 되는 문제다. 반올림을 쓸 때는 Math.round(반올림할 값)을 쓰면 된다. 1 scan.skip("(\r\n|[\n\r\u2028\u2029\u0085])?"); cs 답에서 위와 같이 scan.skip이 써있는 이유는 여러줄을 입력받을 때 공백의 엔터값을 스킵하기 위해서다. 답 (Java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java..

    [HackerRank][Java] Day 1: Data Types

    [HackerRank][Java] Day 1: Data Types

    문제 (링크) 문제 설명 Case 1 input이 아래와 같을 때 12 4.0 is the best place to learn and practice coding! cs nextInt()로 12 저장 nextDouble()로 4.0 저장 nextLine()로 문장 전체가 저장될 것 같지만 안된다. 처음에 바로 nextLine()로 저장했다면 됐을 테지만, 이미 앞에 무언갈 저장한 이후이기 때문에 next()를 사용해 한 단어만 저장한 후에 nextLine()을 사용해 나머지 문장을 저장해서 더하면 된다. 위의 인풋을 예로 들면 next()에는 "is"가, nextLine()에는 "the best place to learn and practice coding!"가 저장되는 것이다. Case 2 scan.s..

    [BOJ][Java] 1110번 - 더하기 사이클

    문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 ..

    [BOJ][Java] 10951번 - A+B - 4

    문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 런타임 에러 아니 왜..???? 심지어 tokenizer 써서 맞은 블로그 그대로 따라도 해봤는데 런타임 에러 뜸 왜죠???????????????????????????????? 느려도 scanner를 써야 되는 상황도 있는건가.. 하.. ㅠㅠ 토큰쓰는법 누가..

    [BOJ][Java] 11022번 - A + B - 8

    [BOJ][Java] 11022번 - A + B - 8

    문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. 예제 입력 5 1 1 2 3 3 4 9 8 5 2 예제 출력 Case #1: 1 + 1 = 2 Case #2: 2 + 3 = 5 Case #3: 3 + 4 = 7 Case #4: 9 + 8 = 17 Case #5: 5 + 2 = 7 답 (Java)

    [BOJ][Java] 11021번 - A+B - 7

    [BOJ][Java] 11021번 - A+B - 7

    문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. 예제 입력 5 1 1 2 3 3 4 9 8 5 2 예제 출력 Case #1: 2 Case #2: 5 Case #3: 7 Case #4: 17 Case #5: 7 답 (Java)

    [BOJ][Java] 15552번 - 빠른 A+B

    [BOJ][Java] 15552번 - 빠른 A+B

    https://www.acmicpc.net/problem/15552 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. Buff..

    [BOJ][Java] 8393번 - 합

    [BOJ][Java] 8393번 - 합

    https://www.acmicpc.net/problem/8393 문제 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. 출력 1부터 n까지 합을 출력한다. 예제입력 3 예제 출력 6 문제 풀이 아주 간단한 for문 문제.. 단계별로 다 뽀개기 하고싶어서 풀어보았음 1부터 n까지 더하는 것이므로 시작값을 1로, n도 더해지기 위해 n보다 작거나 같을 때도 포함해서 1씩 커지도록 조건을 둔다. 답 (Java)

    [HackerRank][MySQL] Advanced Join Interview

    [HackerRank][MySQL] Advanced Join Interview

    문제 문제 설명 테이블: Contests, Colleges, Challenges, View_Stats, Submission_stats 조건: contest_id, hacker_id, name, total_submissions의 합, total_accepted_submissions의 합, total_views의 합, total_unique_views의 합을 출력해야 한다. contest_id를 기준으로 정렬한다. 4개의 합계 모두 0일 경우 출력 결과에서 제외된다. 참고: 1Contest - N Colleges, 1 College - 1 Contest 문제 풀이 Join: Contents - Colleges, Colleges - Challenges, left join: Challenges - View_St..