나를 제외한 천재들 블로그


- '알고리즘' 태그의 글 목록 (4 Page) -

알고리즘

    [JS] 백준 4344번 평균은 넘겠지

    [JS] 백준 4344번 평균은 넘겠지

    출처 백준 온라인 저지 www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 문제 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 풀이 첫째줄을 제외한(테스트 케이스 개수) 나머지 줄을 기준으로 for 문을 돌려줍니다. 이때 각각 케이스에서 split 메서드를 사용하여 공백을 기준으로..

    [JS] 백준 3052번 나머지

    [JS] 백준 3052번 나머지

    출처 백준 온라인 저지 www.acmicpc.net/problem/3052 3052번: 나머지 39, 40, 41, 42, 43, 44, 82, 83, 84, 85를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 모두 6개가 있다. www.acmicpc.net 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한 후 출력한다. 풀이 10개의 줄에 수가 존재합니다. 이 수를 각각 나머지(%)를 사용하여 42를 나눈 나머지를 구해줍니다. 이 값을 userNum이란 배열을 하나 생성해주고..

    [JS] 백준 11720번 숫자의 합

    [JS] 백준 11720번 숫자의 합

    출처 백준 온라인 저지 www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 첫째 줄에 숫자의 개수, 둘째 줄에 숫자 N개가 공백 없이 주어진다. 풀이 공백 없이 주어지는 N개의 숫자를 split 메서드로 나눠줍니다. 주어진 N의 숫자를 기준으로 for 문을 돌려주고 숫자를 하나씩 가져와 누적시켜준 후 출력시켜줍니다. 코드 let input = require('fs').readFileSync('/dev/stdin').toString().split('\..

    [JS] 백준 1152번: 단어의 개수

    [JS] 백준 1152번: 단어의 개수

    출처 백준 온라인 저지 www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 � www.acmicpc.net 문제 영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다. 몇 개의 단어가 있는지 구하는 프로그램을 작성하시오. 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 풀이 split 메서드를 사용하여 공백을 기준으로 나눠주고 나눈 배열의 length 속성으로 배열 길이를 출력하면 됩니다. 하지만 해당 문제에는 빈 값만 들어오는 테스트 케이스가 있습니다. 조건문으로 ..

    [JS] 백준 2577번 숫자의 개수

    [JS] 백준 2577번 숫자의 개수

    출처 백준 온라인 저지 www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net 문제 세 개의 자연수 A, B, C가 주어질 때 A×B×C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. A × B × C 값이 17037300이라면 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. 풀이 A x B x C 값을 구..

    [JS] 백준 8958번 OX퀴즈

    [JS] 백준 8958번 OX퀴즈

    출처 백준 온라인 저지 www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수�� www.acmicpc.net 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이..

    [JS] 백준 2742번 기찍 N

    [JS] 백준 2742번 기찍 N

    출처 백준 온라인 저지 www.acmicpc.net/problem/2742 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 풀이 for 문을 이용해 i를 max값으로 정하고 감소시킨 i값을 출력시키면 됩니다. 출력을 하나씩 해주면 시간 초과가 납니다. 그러므로 문자열에 결괏값과 개행 문자를 넣어 마지막에 출력해줘야 합니다. 코드 let input = Number(require('fs').readFileSync('/dev/stdin').toString()); ..

    [JS] 백준 2741번 N 찍기

    [JS] 백준 2741번 N 찍기

    출처 백준 온라인 저지 www.acmicpc.net/problem/2741 2741번: N 찍기 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 풀이 for문을 이용해 max까지 i를 증가시켜 해당 값을 출력시키면 됩니다. 하지만 출력을 하나씩 해주면 시간 초과가 납니다. 그러므로 문자열에 결과값과 개행 문자를 넣어 마지막에 출력해줘야 합니다. 코드 let input = Number(require('fs').readFileSync('/dev/stdin').toString()); ..

    [JS] 백준 15552번 빠른 A+B

    [JS] 백준 15552번 빠른 A+B

    출처 백준 온라인 저지 www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간 초과가 날 수 있다는 점이다. 첫 줄에 테스트 케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T 줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. 풀이 테스트 케이스의 개수가 최대 1,000,000가 나올 수 있는 상황입니..

    [JS] 백준 10871번 X보다 작은 수

    [JS] 백준 10871번 X보다 작은 수

    출처 백준 온라인 저지 www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 정수 N개로 이루어진 정수 X가 주어진다. 이때, X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 첫째 줄에 N과 X가 주어진다. 둘째 줄에 정수 N개가 주어진다. 풀이 첫째 줄에는 N(정수 개수), X(max 값), 둘째 줄에는 정수 N개가 있습니다. 이를 split 메서드를 이용하여 1차적으로 줄을 기준으로 나누고 공백을 기준으로 다시 한번 나눠줍니다. f..

    [JS] 백준 2753번 윤년

    [JS] 백준 2753번 윤년

    출처 백준 온라인 저지 www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 풀이 if 문에 조건에 4의 배수가 되는 조건은 무조건 true가 되어야하며 나머지 하나의 조건도 true가 되면 출력하는 숫자를 1로 바꿔줍니다. 1번째 조건: 윤년은 4의 배수여야합니다. 나머지 조건: 윤..

    [JS] 백준 1110번 더하기 사이클

    [JS] 백준 1110번 더하기 사이클

    출처 백준 온라인 저지 www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자릿수를 있어 붙이면 새로운 수를 만들 수 있다. 예로 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번 만에 원래 수로 돌아올 수 있다. 따라..