입출력과 사칙연산 1단계2557번Hello World!를 출력하시오.없음Hello World!
백준 10718번 We love kriii
입출력과 사칙연산 3단계10171\. 고양이아래 예제와 같이 고양이를 출력하시오.없음핵심은 여러 줄의 console.log를 보여주는 방법과 백슬래쉬(\\)의 표시 방법이었다.1\. console.log를 여러 줄 출력하기 위해서는 일반적으로 사용했던 따옴표(",')가
입출력과 사칙연산 4단계25083번. 새싹아래 예제와 같이 새싹을 출력하시오.없음두 해답의 차이가 무엇이고, 왜 둘 다 작동을 할까?1\. 백틱(\`)을 사용해서 console.log에서 여러 줄 입력이 가능하도록 만들었다. 따라서 \\n으로 줄 바꿈 처리 없이 엔터만
입출력과 사칙연산 5단계1000번. A+B두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)1 23이번에는 앞선 문제들과 다르게 데이터 입력을 받는 문제가 나왔다.그런데...
입출력과 사칙연산 5단계1001번. A-B두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)첫째 줄에 A-B를 출력한다.3 21바로 직전 문제인 1000번 문제와 완전히 동일
입출력과 사칙연산 6단계10998번. AxB두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)첫째 줄에 A×B를 출력한다.1 223 4121000, 1001번 문제와 다를게
입출력과 사칙연산 8단계1008번. A/B두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-
입출력과 사칙연산 9단계10869번. 사칙연산두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A\*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)첫째 줄에 A+B, 둘째
입출력과 사칙연산 10단계10926번. ??!준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을
입출력과 사칙연산 11단계18108번. 1998년생인 내가 태국에서는 2541년생?!ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던
입출력과 사칙연산 12단계10430번. 나머지(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.첫째 줄에 A, B,
입출력과 사칙연산 13단계2588번. 곱셈(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.자료이미지(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.첫째
조건문 1단계1330번. 두 수 비교하기두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.첫째 줄에 다음 세 가지 중 하나를 출력한다.A가 B보다 큰 경우에는 '>'를
조건문 2단계9498번. 시험 성적시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고,
조건문 3단계2753번. 윤년연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다.
조건문 4단계14681번. 사분면 고르기흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.문제 이미지예를 들어, 좌표가 (12, 5)
조건문 5단계2884번. 알람 시계상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가
조건문 6단계2525번. 오븐 시계KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가
조건문 7단계2480번. 주사위 세개1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.같은 눈이 2개만 나오는 경우에는 1,000
반복문 1단계2739번. 구구단N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.출력형식과 같게 N1부터 N9까지 출력한다.22 \* 1 = 22
반복문 2단계10950번. A+B-3두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 1
반복문 3단계8393번. 합n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.1부터 n까지 합을 출력한다.36누적합을 구하는 기본적인 문제이다.1부터 입력 데이터까지 1씩 증가하며, 누적합을 만든
반복문 4단계15552번. 빠른 A+B본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL
반복문 5단계2741번. N 찍기자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.첫째 줄부터 N번째 줄 까지 차례대로 출력한다.512345 이전 문제와 완전히 동일한
반복문 6단계2742번. 기찍 N자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.첫째 줄부터 N번째 줄 까지 차례대로 출력한다.554321이전 문제와 완전히 동일한 문
반복문 7단계11021번. A+B-7두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 1
반복문 8단계11022번. A+B-8두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 1
반복문 9단계2438번. 별 찍기-1첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.5\*\*\*\*\*\*\*\*\*\*\*\*\*\*\
반복문 10단계2439번. 별 찍기-2첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.첫째 줄부터 N번째 줄까지 차례대로 별을
반복문 11단계10871번. X보다 작은 수정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)둘째 줄에 수열 A를 이루는 정수 N개
반복문 12단계10952번. A+B-5두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.입력은 여러 개의 테스트 케이스로 이루어져 있다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B <
반복문 13단계10951번. A+B-4두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.입력은 여러 개의 테스트 케이스로 이루어져 있다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B <
반복문 14단계1110번. 더하기 사이클0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽
1차원 배열 1단계10818번. 최소, 최대N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1
1차원 배열 2단계2562번. 최댓값9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.예를 들어, 서로 다른 9개의 자연수3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이
1차원 배열 3단계2577번. 숫자의 개수세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.예를 들어 A = 150, B = 266, C = 427 이라면 A × B
1차원 배열 4단계3052번. 나머지두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로
1차원 배열 5단계1546번. 평균세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M100으로 고쳤다.예를 들어, 세준이의 최고점이 70
1차원 배열 6단계8968번. OX퀴즈"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다."
1차원 배열 7단계4344번. 평균은 넘겠지대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.첫째 줄에는 테스트 케이스의 개수 C가 주어진다.둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 10
함수 2단계4673번. 셀프 넘버셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다.양의 정수 n이 주어졌을
함수 3단계1065번. 한수어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하
문자열 1단계11654번. 아스키 코드알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다.입력으로 주어진 글자의 아스키 코드 값을
문자열 2단계11720번. 숫자의 합N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.입력으로 주어진 숫자 N개의 합을 출력
문자열 3단계10809번. 알파벳 찾기알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.첫째 줄에 단어 S가 주어진다. 단어의
문자열 4단계2675번. 문자열 반복문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alp
문자열 5단계1157번. 단어 공부알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이
문자열 6단계1152번. 단어의 개수영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.첫 줄에 영어 대소문자와 공백으로 이
문자열 7단계2908번. 상수상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말
문자열 8단계5622번. 다이얼상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다.이미지전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고,
문자열 9단계2941번. 크로아티아 알파벳예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.크로아티아 알파벳 변경č c=ć c-dž dz=đ d-lj ljnj njš s=ž z=예를 들어, ljes
문자열 10단계1316번. 그룹 단어 체커그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그
기본 수학1 1단계1712번. 손익분기점월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다
기본 수학1 2단계2292번. 벌집참고 이미지위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번
기본 수학1 3단계 1193번. 분수찾기 문제 > 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 참고 이미지 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번,
기본 수학1 4단계 2869번. 달팽이는 올라가고 싶다. 문제 > 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미
기본 수학 1. 5단계10250번. ACM 호텔ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자
기본 수학 1. 6단계 2775번. 부녀회장이 될테야 문제 > 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신
기본 수학 1. 7단계2839번. 설탕 배달2839번 문제 링크처음에는 경우의 수를 생각해서 if문으로 구현했었다.input이1\. 3과 5의 배수 or 5이 배수 = 5로 나누면 최소 개수2\. 3의 배수 = 3으로 나누면 최소 개수3\. 5와 3의 합으로 표현 가능
기본 수학 1. 8단계10757번. 큰수 A+B10757번 문제 링크이 문제는 보자마자 BigInt를 사용하겠구나 싶었는데 보기 좋게 오답~이유는 BigInt를 출력할 때 toString()을 붙여주지 않으면 n이 따라 출력되기 때문이다.ex) BigInt(135543
기본 수학 2. 1단계1978번. 소수 찾기1978번 문제 링크입력 첫 째 줄에 주어지는 반복 횟수에 얽매이지 않아도 된다.소수 판별에 쓰이는 다양한 방법이 있는데 이 곳의 풀이 3을 참고하자.자바로 푸셨지만 이런 방법도 있다는 것을 알게됐다.for보다는 메서드를 사용
기본 수학 2. 2단계2581번. 소수2581번 문제 링크바로 직전 문제인 1978번 문제와 큰 차이가 없는 문제였다.다만, 숫자가 범위로 주어졌고, 합과 최솟값을 구해야한다는 점이 달랐다.따라서, 이전 문제처럼 filter를 사용하지는 않았고 단순 반복문으로 입력값을
기본 수학 2. 3단계11653번. 소인수분해11653번 문제 링크소인수분해는 결국 나눗셈, 곱셈의 연산을 활용하는 것이다. 예를 들어, 2가 여러번 곱해진 숫자라면 while문을 통해 최대한의 많이 2로 나눠낼 수 있다.2로 더이상 나눠지지 않는 순간부터는 3으로 반
기본 수학 2. 4단계 1929번. 소수 구하기 문제 > 1929번 문제 링크 solution1 (에라토스테네스의 체) solution2 (일반적인 소수 판별) 해설 > 이전까지의 문제는 소수를 판별하는데 있어서 3가지의 방법을 사용했다.(굳이 또 언급은 하지
기본 수학 2. 5단계4948번. 베르트랑 공준4948번 문제 링크평범한 방법으로도 시간 초과 문제없이 통과할 수 있었지만, 시간 제한 조건이 있었다면 에라토스테네스의 체를 사용해야 할 것 같다.
기본 수학2. 6단계9020번. 골드바흐의 추측9020번 문제 링크
재귀. 1단계10872번. 팩토리얼10872번 문제 링크
재귀. 2단계10870번. 피보나치 수 510870번 문제 링크
재귀. 3단계17478번. 재귀함수가 뭔가요?17478번 문제 링크
재귀. 4단계2447번. 별 찍기 - 102447번 문제 링크솔직히 이 문제는 여러 풀이들을 참고해도 이해가 되지를 않는다.다른 것보다 헷갈리면 안되는 것은, 문제 설명에서 3x3 정사각형의 형태를 보여주는 것으로 저걸 반복하면 되겠다는 생각을 할 수 있다.그렇게 되면
재귀. 5단계11729번. 하노이 탑 이동 순서11729번 문제 링크재귀 문제들이 하나같이 어려운 것 같다. 접근조차 못하는 경우가 많아졌다..다른 분 풀이를 보고 풀었다.설명을 그림과 같이 이해하기 쉽게 해주셔서 바로 이해가 됐다.
브루트 포스. 1단계2798번. 블랙잭2798번 문제 링크pivot으로 설정한 카드가 N-2번 인덱스의 카드라면 3번째 카드는 주어진 카드의 숫자를 넘어간다.이 부분을 예외 처리하지 않아도 되는 이유는...애초에 반복문 조건으로 인해서 선택 가능한 카드의 범위가 N-1
브루트 포스. 2단계2231번. 분해합2231번 문제 링크
브루트 포스. 3단계7568번. 덩치7568번 문제 링크
브루트 포스. 4단계1018번. 체스판 다시 칠하기1018번 문제 링크열심히 고민해보다가 결국 다른 분의 풀이를 보았다.체스판을 전부 만들어두고 시작하는 것 외에는 내 로직과 비슷해서 가져와봤다.내 방식으로 고쳐보려고 했으나, 입력부터 오류가 발생해서 그대로 코드를 가
브루트 포스. 5단계 1436번. 영화감독 숌 문제 > 1436번 문제 링크 solution
브루트 포스. 5단계 1436번. 영화감독 숌 문제 > 2750번 문제 링크 solution
정렬. 2단계 2751번. 수 정렬하기 2 문제 > 2751번 문제 링크 solution 시간 초과
정렬. 3단계10989번. 수 정렬하기 310989번 문제 링크이 문제의 핵심은 계수 정렬(Counting Sort)를 사용하는 것이라고 한다.시간 복잡도가 N으로 상당히 빠른 정렬 속도를 가지는 방법인데,정렬해야할 수의 범위가 적을 때에만 유용하다고 한다.방식은 다음
정렬. 4단계25305번. 커트라인25305번 문제 링크
정렬. 5단계 2108번. 통계학 문제 > 2108번 문제 링크 solution
정렬. 6단계1427번. 소트인사이드1427번 문제 링크
정렬. 7단계11650번. 좌표 정렬하기11650번 문제 링크예시를 들어보자. 2차원 배열은 직접 손으로 그려보는게 이해가 빠르다.필자는 주로 for문으로 console.log를 찍어왔는데,문제를 풀면 풀수록 시간 초과로 인해서 join으로 한번에 출력해야할 때가 많아
정렬. 8단계 11651번. 좌표 정렬하기 2 문제 > 11651번 문제 링크 solution 11650번 문제와 완벽하게 동일한 문제이므로, sort 부분 설명을 봐주시기를 바랍니다. 필자의 백준 11650번 풀이
정렬. 9단계1181\. 단어 정렬1181번 문제 링크다른건 정렬 문제에서 흔히 마주했던 것들인데, localeCompare라는 것은 생소하다.localeCompare는 문자열끼리 비교를 해주는 함수이다. 사용법은 아래와 같다.예시를 살펴보자.출력되는 숫자들이 알파벳
정렬. 10단계 10814번. 나이순 정렬 문제 > 10814번 문제 링크 solution 2차원 배열을 활용해서 풀었는데, 예시를 통해 살펴보는게 이해가 빠르다. 혹시나 2차원 배열의 sort()에 대하여 궁금한 분들은 를 참고해주시면 감사하겠습니다. 주의할
정렬. 10단계18870번. 좌표 압축18870번 문제 링크원래 데이터를 담고 있는 arr 배열이 있다.중복값을 제거하고 오름차순 정렬한 coord 배열이 있다.coord 배열은 작은 숫자부터 나열되며, 이들의 인덱스는 곧 본인보다 작은 숫자의 개수를 의미한다.coor
알고리즘 기초 1/2. 200 - 자료구조 110828번. 스택10828번 문제 링크
기초 알고리즘 1/2. 200 - 자료구조 1 9093번. 단어 뒤집기 문제 > 9093번 문제 링크 solution 주의할 점 reverse() 메서드는 많은 분들이 떠올리셨을거라 생각한다. 만약, 여기서 짧게 생각하고 진행하면 오답 처리가 됐을 것이다. rev
알고리즘 기초 1/2. 200 - 자료구조 19012번. 괄호9012번 문제 링크이번 문제는 완전히 잘못 짚었다...그래서 다른 분 풀이를 찾아보다가 너무 이해가 잘되는 풀이가 있어서 가져와봤다.(참고 자료 1)스택 구조를 이용하셨다. 왜 이 생각을 못했을까..코드에
알고리즘 기초 1/2. 200 - 자료 구조 11874번. 스택 수열1874번 문제 링크이번 문제는 stack에 저장하는 것을 어떻게 구현할지 고민하다가 결국 다른 분이 풀이를 참고했다.예시 데이터로 설명하는게 좋을 것 같다.참고 자료 1
기초 알고리즘 1/2. 200 - 자료 구조 11406번. 에디터1406번 문제 링크하나의 스택을 쓰는 방법이 아니라 두 개의 스택을 사용하는 방법으로 접근했다.예시를 보면 이해가 빠를 것이다.for문으로 했을 때 시간 초과가 걸려서, forEach로 바꿨음에도 시간
기초 알고리즘 1/2. 200 - 자료 구조 110845번. 큐10845번 문제 링크큐는 스택과는 또 다른 자료 구조이다.스택은 LIFO(Last In First Out)이라는 구조를 가진다.반면, 큐는 FIFO(Fist In First Out)이라는 구조를 가진다.쉽
기초 알고리즘 1/2. 200 - 자료 구조 11158번. 요세푸스 문제1158번 문제 링크큐를 사용하는 방법이다.이 문제는 3번째 사람이 제거된 뒤, 그 뒤에 있는 사람부터 다시 3번째 사람을 찾아야한다.그래서 일반적인 배열을 생각하고 진행하면 중간부터 생각이 꼬이기
기초 알고리즘 1/2. 200 - 자료 구조 110866번. 덱10866번 문제 링크명령어에 따라 분기처리를 하면 되는 아주 간단한 문제이다.시간 초과를 피하기위해서 ans에 답을 담아서 한번에 문자열로 출력을 했다.
기초 알고리즘 1/2. 201 - 자료 구조 1(연습)17413번. 단어 뒤집기 217413번 문제 링크결국 메모리 초과를 해결하지 못해서 다른 분의 풀이를 참고했다.접근 방법은 맞았지만, 풀어내는 방법이 너무나도 달랐다.메모리 초과가 발생하는 원인을 알 수 없다는게
기초 알고리즘 1/2. 200 - 자료 구조 1(연습)10799번. 쇠막대기10799번 문제 링크저번에 "(", )" 문자를 활용하는 문제를 풀면서 스택 구조를 사용했었다.그래서 이번에도 그러려고 했는데, 레이저 부분을 처리하는 것이 문제였다.30분 안에 풀이법을 찾지
기초 알고리즘 1/2. 200 - 자료 구조 1(연습)17298번. 오큰수17298번 문제 링크아무래도 candidate 배열을 사용한 것이 메모리 초과의 원인이 아니었을까싶다.사용하지 않아도 구현할 수 있기 때문이다.한번 제거해보자.메모리 초과 문제를 해결하기 위해서
기초 알고리즘 1/2. 200 - 자료 구조 1(연습) 17299번. 오큰등수 문제 > 17299번 문제 링크 solution 17298번과 동일하다. 필자의 17298번 풀이 참고 자료 참고 자료 1
기초 알고리즘 1/2. 203 - 자료 구조 1(참고)1935번. 후위 표기식21935번 문제 링크이번 문제는 스택을 어떻게 쓸지 고민하다가 시간을 넘겨버렸다.다른 분의 풀이를 참고했는데, calculator 부분이 인상적이다.객체의 value에 함수를 넣을 수 있구나
기초 알고리즘 1/2. 203 - 자료 구조 1(참고)1918번. 후위 표기식1918번 문제 링크이번 문제도 이해하기가 어렵다. 스택을 이용하는 것은 알겠는데, 감이 안왔다.핵심은 연산자의 우선 순위를 잘 따지는 것이다.괄호 내부곱셈, 나눗셈덧셈, 뺄셈또한, 연산자의
기초 알고리즘 1/2. 203 - 자료 구조 1(참고) 10808번. 알파벳 개수 문제 > 10808번 문제 링크 solution 이번 문제는 Map 객체를 활용해서 풀었다. 사실, 그냥 배열로 푸는 방법을 해볼까 했는데, 시간초과에 걸릴 것 같아서 Map으로 했
기초 알고리즘 1/2. 200 - 자료 구조 1(참고)10820번. 문자열 분석10820번 문제 링크문제 자체는 굉장히 쉬운데, 빈 문자열이 들어오는 경우에 대한 말이 없어서 헤맸다.계속 틀리길래 접근을 잘못하고 있나했더니, 빈 문자열은 안 들어온다는 조건이 없었다는
기초 알고리즘 1/2. 200 - 자료 구조 1(참고)2743번. 단어 길이 재기2743번 문제 링크
기초 알고리즘 1/2. 203 - 자료 구조 1(참고)11655번. ROT1311655번 문제 링크이 간단한 문제를 10번을 시도하게 만든 원인...trim평소 필자는 입력값 양 옆에 있는 공백을 없애고자 input을 만들 때 trim을 꼭 사용한다.그런데 웬걸..tr
기초 알고리즘 1/2. 203 - 자료 구조1(참고)10824번. 네 수10824번 문제 링크
기초 알고리즘 1/2. 203 - 자료 구조1(참고)11656번. 접미사 배열11656번 문제 링크
기초 알고리즘 1/2. 300 - 수학 12609번. 최대공약수와 최소공배수2609번 문제 링크예시를 보면 쉽게 이해할 수 있다.참고 자료 1유클리드 호제법 위키백과
기초 알고리즘 1/2. 300 - 수학1 1934번. 최소공배수 문제 > 1934번 문제 링크 solution 최소공배수는 두 자연수의 곱을 최대공약수로 나눈 것이다. 최대공약수는 유클리드 호세법을 사용하여 간단하게 구해낼 수 있다. 유클리드 호세법에 관련된 문제
알고리즘 기초 1/2. 300 - 수학16588번. 골드바흐의 추측6588번 문제 링크뭔가 의식의 흐름을 따라서 코드를 작성하다보니 엄청 길어졌다.제출하면서 시간초과가 너무 뻔히 예상이 됐는데, 역시나 시간 초과다.뭐가 문제였을까?지금 보니 소수 중 홀수만 가져와야하는
알고리즘 기초 1/2. 300 - 수학11676번. 팩토리얼 0의 개수1676번 문제 링크문제 자체는 어렵지않다.그치만, 그냥 풀면 코드 상 틀린게 없는데도 오답이 된다.한 끗 차이로 오답이 발생하는데 그 이유는 바로BigInt이다.팩토리얼 연산에 큰 수가 입력되었을
알고리즘 기초 1/2. 300 - 수학12004번. 조합 0의 개수2004번 문제 링크이번 문제는 수학적 지식이 없다면 풀기 힘들 것 같다.우선 조합(Combination)에 대해서 알아보자.위와 같은 공식으로 풀어내는 것이다.하지만 저 식 그대로 코드로 풀어내면 메모
알고리즘 기초 1/2. 301 - 수학 1(연습) 9613번. GCD 합 문제 > 9613번 문제 링크 solution 시간 초과 유클리드 호제법으로 최대공약수를 구하는 건 맞는 것 같은데, 아무래도 for문이 세 번이나 사용된 것이 시간 초과를 발생시킨 것 같
알고리즘 기초 1/2. 301 - 수학 1(연습)17987번. 숨바꼭질 617987번 문제 링크유클리드 호제법 부분만 원래 쓰던 방법으로 바꿔줬을 뿐인데...참고 자료 1참고 자료 2
알고리즘 기초 1/2. 301 - 수학 1(연습)1373번. 2진수 8진수1373번 문제 링크이번 문제는 2진수 -> 8진수로 전환하는 방법을 알면 쉽게 만들 수 있다.방법은 아래와 같다.필자는 계산의 편의를 위해 3개씩 끊어낸 배열을 reverse해서2진수 숫자와 2
알고리즘 기초 1/2. 301 - 수학 1(연습)1212번. 8진수 2진수1212번 문제 링크매서드를 이용하는 방법이 훨씬 깔끔해보인다.그런데 메모리는 매서드를 사용한 쪽이 약간 더 크게 잡아먹었다.이 방법은 직전 문제였던 2진수 8진수 문제와 동일한 방법을 사용한 것
알고리즘 기초 1/2. 301 - 수학 1(연습)2089번. -2진수2089번 문제 링크어떤 정답이든 똑같은 원리가 사용된다. 사용된 메서드가 Math.ceil이냐 Math.floor이냐에 따라 달라질 뿐이다.예시를 통해 코드를 살펴보자. 필자는 ceil을 사용한 so
알고리즘 기초 1/2. 301 - 수학 1(연습)17103번. 골드바흐 파티션17103번 문제 링크가장 큰 변화는 new Array()를 사용해서 소수를 판별할 배열을 만들었다는 것이다.물론, 이 부분이 시간 초과를 해결한 것은 아니고 그 아래 for문이 해결한 것이다
알고리즘 기초 1/2. 수학 1(참고)11005번. 진법 변환 211005번 문제 링크toString을 활용한 풀이이다.toString에는 숫자를 넣는데, 그 숫자에 해당하는 진법으로 num을 바꿔준다.이 때, 숫자 표현 범위를 넘어서는 것은 소문자로 변환되므로toUp
알고리즘 기초 1/2. 수학 1(참고)2745번. 진수 변환2745번 문제 링크이번에는 parseInt를 사용해서 특정 진수로 표현된 숫자를 10진수로 변환했다.parseInt에는 변환하고자 하는 숫자(혹은 문자)와 그 값을 표현하고 있는 진법을 입력해주면 된다.그러면
11576번 문제 링크참고 자료 1
요즘 백준말고 릿코드랑 프로그래머스만 했더니 무의식적으로 return을 해버려서 10번을 틀렸다.설명이 딱히 필요없을 정도로 간단한 문제이다.주의할 점은 문제를 잘 읽은 뒤,K보다 약수의 개수가 작은 경우 0을 출력하는 것만 처리해주면 된다.
백준 3460번 이진수toString(2)을 통해 문자열 입력값을 2진수로 변환한다.이를 배열화하고, 뒤집어서 가장 작은 자리수가 0번 인덱스가 되도록 해준다.배열을 순회하면서 1인 것들의 인덱스를 정답 배열에 저장한다.정답 배열을 공백 기준으로 병합하여 출력한다.
백준 2460번 지능형 기차 2최대값 비교를 통해 max를 갱신하는 것이 문제를 해결하는 방법이다.기차 안에 있는 사람은 현재 기차 내부에 있는 사람 + 타는 사람 - 내리는 사람이다.이를 통해 구한 기차 안에 있는 사람이 max보다 크다면 max를 갱신한다.
백준 2309번 일곱 난쟁이연산에서 제외할 두 명의 난쟁이를 중첩 for문으로 선택한다.전체 합 - 난쟁이 1 - 난쟁이 2 === 100이 되어야 문제 조건을 만족하는데이 때, 선택된 두 난쟁이를 제외한 나머지 난쟁이들만 추려서 내부 for문을 빠져 나간다.외부 fo
백준 2693번 N번째 큰 수내림차순 정렬을 할 줄 알면 쉽게 해결할 수 있다.주어진 배열을 number 타입으로 전환한 후, 내림차순 정렬을 실행한다.반드시, 3번째로 큰 수를 출력해야하므로,정렬된 배열의 2번 인덱스의 값을 ans 배열에 넣어준다.다른 배열에 대해서