반 년 전에 조금 깔짝였던 백준, 이젠 정말 제대로 해야 하는 시기가 왔다. 너무나도 운이 좋게도 이번에 인턴을 하면서 만난 친구?(아직 말 안 놓음)랑 같이 열심히 공부하기로 했다. 나는 2단계 5번까지, 그 친구는 6단계까지 풀어서 내가 2단계랑 7단계를 병행하기
[백준 2480] 조건문 7단계. 오븐 시계 = 문제 = 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만
월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다.예를 들어 A=1,000, B=
N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.출력형식과 같게 N1부터 N9까지 출력한다.22 1 = 22 2 = 42 3 = 62 4
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)각 테스트 케이스마다 A+B를 출
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.1부터 n까지 합을 출력한다.36오 한 번에 맞았다.사실 VS Code에서 한 번 틀렸었다.5번째 줄에서 answer를 0으로 초기화를 안 해주었
[백준 2292] 기본 수학1 2단계. 벌집 ✨ 문제 ✨ 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.첫째 줄에 분수를 출력한다.11/121/232/143/152/261/371/482/393/2142/4너무 어렵다.손으로 풀면 그래도 할만 할 것 같은데 코드로 하니 어렵다.규칙은 찾았는데 이걸 어떻게 간략하게
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지
[백준 10250] 기본 수학1 5단계. ACM 호텔 ✨ 문제 ✨ ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄
평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다.이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)첫째 줄에 A+B를 출력한다.9223372036854775807 92233720368547758081844674407
[백준 1978] 기본 수학2 1단계. 소수 찾기 ✨ 문제 ✨ 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. = 입력 = 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의
자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오.예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.72222333362322999129
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다
[백준 4948] 기본 수학2 5단계. 베르트랑 공준 ✨ 문제 ✨ 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가
1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다.골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보
N\*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오.첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과
첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어진다. 주어지는 수는 100보다 작은 자연수 또는 0이다.첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중
[백준 2563] 2차원 배열 3단계. 색종이 ✨ 문제 ✨ = 입력 = 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.첫째 줄부
[백준 2750] 정렬 1단계. 수 정렬하기 ✨ 문제 ✨ N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. = 입력 = 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.첫째 줄부터 N개의 줄에 오름
백준에서는 trim()을 반드시 해야 한다. 안 그러면 출력 형식이 맞지 않아 틀렸다고 한다.
[백준 10814] 정렬 11단계. 나이순 정렬 ✨ 문제 ✨ ✨ 정답 ✨
[백준 10814] 정렬 12단계. 좌표 압축 ✨ 문제 ✨ ✨ 정답 ✨
✨ 문제 ✨ ✨ 정답 ✨
✨ 문제 ✨ ✨ 정답 ✨
✨ 문제 ✨ ✨ 정답 ✨
✨ 문제 ✨ ✨ 정답 ✨
✨ 문제 ✨ ✨ 정답 ✨
✨ 문제 ✨ ✨ 정답 ✨
✨ 문제 ✨ ✨ 정답 ✨
✨ 문제 ✨ ✨ 정답 ✨
✨ 문제 ✨ ✨ 정답 ✨ const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt"; let input = fs.readFileSync(fileP
✨ 문제 ✨ ✨ 정답 ✨ 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 💡💡 기억해야 할 점 💡💡
if문으로 조건을 나누는 것을 두려워하지 말자
BigInt를 써야 하는 경우를 알아두자. N의 최댓값을 대입해보고, 16자리가 넘어가면 BigInt를 사용해 보자.
문제를 해석해 보자. 여기서는 N일짜리 상담은 곧 N+1일에 돈이 들어온다는 뜻이다.
어렵다 어렵다 어렵다.https://junghyeonsu.tistory.com/252배열을 사용한다면 배열 요소를 차례대로 분류할 생각을 하는 것이 좋은 것 같다.
https://velog.io/@ywc8851/%EB%B0%B1%EC%A4%80-1260-DFS%EC%99%80-BFS-javascriptBFS와 DFS를 자바스크립트로 구현하는 방법은 반드시 외워야 한다.이건 그냥 코드를 외워야 한다.
https://wonyoung2257.tistory.com/39dp라고 해서 무작정 식을 적기만 하면 안 되는 것이다. 필요한 경우 케이스를 나누어 주어야 한다.
https://gywlsp.github.io/boj/12865/dp를 어떻게 잡을 것인가dp0, dp1, dp2 이런 식으로 규칙을 찾을 것인지, dpN=dpN-1+? 이런 식으로 찾을지 확인해야 한다. Math.max와 Math.min이 자주 사용되는 유형이
문자열 거꾸로 뒤집는 법: answer.split('').reverse().join('')배열 내 객체에서 특정 원소의 인덱스를 찾는 법: Alphabets.findIndex(el => el.name === ${AlphabetArray\[i]})이번 건 너무 더럽게 푼
https://kscodebase.tistory.com/412console.log()를 반복적으로 사용하면 시간이 오래 걸린다.이전과는 다르게 graph를 이용함.current가 next의 부모가 된다는 것.
https://parkparkpark.tistory.com/99내가...자바스크립트를 자유자재로 사용하고 있지 못하다는 생각이 든다.1\. reduce랑 Object.values를 코테에서 써야겠다는 생각을 한 적이 없는데...2\. 나는 객체 배열에 각 알파
dp라고 해서 무작정 dpn과 dpn+1의 관계만을 찾으려 했는데 그게 아닌 것 같다.
와... 진짜... 엄청나게 뻘짓을 많이 했다. negativeAnswer이랑 negative랑 헷갈려서 혼용해서 쓰기도 했고, 인덱스 설정(21, 2i+1을 이상하게 했었다.)도 잘못했었다. 차라리 변수 이름을 n_sum, n_array 이런 식으로 지었어야 했나.1
https://ghost4551.tistory.com/143×3크기의 부분 행렬에 있는 모든 원소를 뒤집는 것이라고 했으니 3x3 행렬의 맨 왼쪽 최상단 원소만 비교하면 뒤집을지 안 뒤집을지 결정할 수 있다. 두번째, 세번째 줄의 맨 왼쪽 원소들은 어차피 맨
https://junghyeonsu.tistory.com/209아무리 봐도 교차하는 경우(A, B 사이에 얼마나 많은 선이 있는지)를 찾아서 dp화함으로써 문제를 풀어야 할 것 같았는데...1\. 가장 긴 오름차순 부분 수열의 길이를 구하는 것과 같다고 한다.
https://snupi.tistory.com/200다이나믹 프로그래밍 문제를 풀 때 생각해야 하는 것들1\. 무엇을 dp로 잡을 것인가2\. dp를 몇 차원 배열로 잡을 것인가.\++기억해야 할 점은 아니고 의문점이다. 문제에서 마지막 입력값은 -1 -1 -
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 https://mine-it-record.tistory.com/614 💡💡 기억해야 할 점 💡💡 count++와 count+1은 다르다 VSCode는 맞다는데 백준은 틀리다 해서 힘들었다.
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
https://kimbangg.tistory.com/208https://junghyeonsu.tistory.com/260split('.')의 결과로 " " 도 나올 수가 있다.
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 https://tesseractjh.tistory.com/201 💡💡 기억해야 할 점 💡💡 어렵다.
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡 처음에 풀 때는 그림의 개수(pCount)와 그림 넓이(aCounts)를 각각 구해서 두 개의 변수에 저장해야 한다고 생각했는데, 두 번째로 풀 때에는 그림 넓이 배열(pictur
처음에 풀 때는 그림의 개수(pCount)와 그림 넓이(aCounts)를 각각 구해서 두 개의 변수에 저장해야 한다고 생각했는데, 두 번째로 풀 때에는 그림 넓이 배열(pictureAreaArray)만 있으면 그림의 개수도 알 수 있으니 그림 개수를 세는 변수는 필요가
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
https://velog.io/@fredkeemhaus/%EB%B0%B1%EC%A4%80-9084-%EB%8F%99%EC%A0%84
https://velog.io/@ywc8851/%EB%B0%B1%EC%A4%80-1915-%EA%B0%80%EC%9E%A5-%ED%81%B0-%EC%A0%95%EC%82%AC%EA%B0%81%ED%98%95-javascript비슷하게 풀었었는데 왜 안 된걸까
https://junghyeonsu.tistory.com/275
sort를 사용했는데 시간초과가 나온 것은 너무한 것 같다.어쩐지 구글에 검색해봐도 자바스크립트 답지는 안 나오더라.
뭔가가 이상하다...
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
https://velog.io/@mk0504/%EB%B0%B1%EC%A4%80-10942%EB%B2%88-%ED%8C%B0%EB%A6%B0%EB%93%9C%EB%A1%AC-JavaScripthttps://mygumi.tistory.com/176
dp 문제를 풀 때마다 dpi과 inputi을 혼동하는 경우가 많다. 반드시 고쳐야 한다.인덱스 잘 생각해야 한다.문제를 어떻게 풀지 계획을 세워야 한다.
https://lhoiktiv.tistory.com/582이미 x값을 기준으로 오름차순으로 정렬을 해 두었기 때문에 중간에 선이 끊어지는 것까지 고려할 필요가 없다.
https://velog.io/@jminkyoung/AL-%ED%81%AC%EB%A3%A8%EC%8A%A4%EC%B9%BC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-feat.-%EC%B5%9C%EC%86%8C-%EC%8B%A0%EC%9
BFS 문제 풀 때마다 x, y 순서를 헷갈려한다.시간초과...를 항상 염두에 두고 풀어야 하는데 어떻게 하는건지 모르겠다.
테스트케이스 넣는거 어렵다. 침착하게 생각해야 한다.
https://junghyeonsu.tistory.com/292
https://orchemi.github.io/boj%20silver%20ii/BOJ_TD01_11501/지긋지긋한 시간초과와 메모리 초과. shift(), while, for 모두 최대한 없애 보았는데도 계속 시간초과와 메모리 초과가 나서 답지를 보았다. M
https://j-su2.tistory.com/88로직은 비슷하게 생각해냈는데 break 조건(12/1)과 0을 출력하는 경우의 조건을 제대로 설정하지 못해 틀렸었다.
3차원짜리 dp도 있다.다중 for문 사용할 때 인덱스 변수 헷갈리지 말자...
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
https://velog.io/@arthur/2206.-%EB%B2%BD-%EB%B6%80%EC%88%98%EA%B3%A0-%EC%9D%B4%EB%8F%99%ED%95%98%EA%B8%B0-node.js-javascript
https://velog.io/@sanbondeveloper/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%97%B0%EC%8A%B5-%EB%B0%B1%EC%A4%80-9466-%ED%85%80-%ED%94%84%EB%A1%9C%EC
https://kimbangg.tistory.com/1891~n-1번째 추의 합 <n번째 추의 무게일 때가 답인 건 알았는데 어떻게 정리를 해서 구현해야 하는지는 몰랐다.아니 말을 정리해서 쓰고 나니까 이걸 왜 못 풀었나 싶긴 하다.n은 항상 큰 수라 생
https://webruden.tistory.com/1048
이게 될 줄 몰랐는데 되어서 기쁘다.
https://ghost4551.tistory.com/20
https://velog.io/@jisubin12/%EB%B0%B1%EC%A4%80-2146-%EB%8B%A4%EB%A6%AC-%EB%A7%8C%EB%93%A4%EA%B8%B0JavaScript
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
https://parkparkpark.tistory.com/135
https://parkpahttps://on1ystar.github.io/algorithm/2021/02/22/Algorithm-10/rkpark.tistory.com/135
https://velog.io/@ywc8851/%EB%B0%B1%EC%A4%80-12904-A%EC%99%80-B-javascript
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
https://gobae.tistory.com/m/49?category=942780아니... 한 예제가 vscode에서도 안 돌아가고 메모리 초과가 뜨길래 답지를 봤다.DFS로 풀어야 정상적으로 돌아가더라...
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
new Map() – 맵을 만듭니다.map.set(key, value) – key를 이용해 value를 저장합니다.map.get(key) – key에 해당하는 값을 반환합니다. key가 존재하지 않으면 undefined를 반환합니다.map.has(key) – key가
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
https://kimbangg.tistory.com/206
https://kimbangg.tistory.com/207
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
https://velog.io/@rkio/%EB%B0%B1%EC%A4%80-Javascript-1874
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
✨ 문제 ✨ ✨ 정답 ✨ 🧵 참고한 정답지 🧵 💡💡 기억해야 할 점 💡💡
시간 초과가 난 방식의 문제점findArray.includes(target)의 includes 메소드는 배열을 처음부터 끝까지 순차적으로 탐색한다. 즉, 시간 복잡도가 O(n)이다. 따라서 이 방법을 사용하면 전체 시간 복잡도는 O(n\* m)이 된다. 따라서 입력 크
이분 탐색 과정 중 middle이 라우터를 설치할 수 있는 곳인지 확인해야 한다.
처음엔 isDone 변수를 이용해서 동생을 찾으면 while문을 탈출하려고 했다.하지만 예상과 달리 시간 초과가 발생했다.isDone을 true로 만들어도 현재 shift한 current에 대해 current+1, current-1, current\*2, 세 방향 전부