이스케이프 처리: 특수문자는 \\나 백틱(\`)을 사용해서 처리1\. \`\` 백틱은 출력할 문자를 감싸준다.2\. '\\' 를 사용하기 위해 '\\' 앞에 '\\' 를 넣는다. 3\. console.log 는 \\n 이 아니어도 줄바꿈을 직접적인 엔터로 가능하다.
자바스크립트로 입력값을 받기 위해서는 \-> fs는 (FileSystem의 약자): 직접 입력 파일을 읽어와서 처리const fs = require('fs')와 같은 모듈을 포함해야 한다.1\. 하나의 값을 입력받을 때const input=fs.readFileSync(
A+B 문제 풀이와 흡사합니다.바꿔본점!1\. map(Number) -> map((val)=>+val)map: callback 함수를 각각의 요소에 대해 한번씩 순서대로 불러 그 함수의 반환값으로 새로운 배열을 만든다. array를 돌면서 array 로 결과가 출력
자세한 설명은 -> A+B
주의! 정수만을 출력해야 하기 때문에 소수점을 없애주어야 합니다. Math.floor() 함수: 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다.ex)Math.floor( 45.95); // 45Math.floor( 45.05); // 45Mat
가장 처음에 문제를 보자마자 떠오른 저의 코드입니다. 머릿 속에서는 그려지지만, 정석적인 풀이는 나머지,나누기를 통한 방법이지만, 저는 자연수를 배열로 만들어 각 자리 수를 계산하는 방법이 가장 먼저 떠올랐습니다.풀이과정1\. 입력 받는 두 숫자를 변수 a와 b에 할당
\> 간단한 if , else if, else 문으로 풀 수 있는 문제입니다.
만약 switch문으로 푼다면?
문제를 보자마자, "윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때" 라는 문장이 핵심이라는 것을 느낄 것입니다.저는 저 문장을 풀어서 '윤년은 반드시 4의 배수이어야 한다' 라는 생각과 '100의 배수가 아닐때와 400의 배수일 때를
이 파트에서는 신기했던게 fs모듈 방식으로 구현하면 런타임에러가 나는 것이었습니다.따라서, readline 모듈 방식을 이용하였습니다.(긴긴 고민 끝에 다른분들꺼 참고 ㅜㅜ)readline 모듈 : 매개변수 line이 입력 값으로 할당이 되고, 문자열입니다.readli
우선 가장 크게 나누어야 하는 것은 입력된 minute값이 45보다 크거나같은지, 작은지 입니다.minute이 45보다 크거나 같다면 45분전에도 같은 hour를 가지지만, minute이 45보다 작다면 45전에는 hour가 그 전시간대로 넘어가기 때문입니다.따라서 나
가장 먼저 작성한 제 생각대로 짠 코드입니다. 결과는 문제에서 원하지 않는 모양이었어요. 띄어쓰기가 적용되지 않는 상태로 결과값이 나왔거든요.따라서 다른 방법으로 코드를 짜보았습니다.백틱(\`)을 사용하면 ${}를 사용해서 문자열과 변수를 적절히 같이 사용할 수 있습니
sum이라는 변수에 숫자가 누적되게 하는 방법이다. for문은 입력값만큼 반복할 것이고, 반복되는 과정에서 sum 값에 계속 더해져 쌓여나갈 것이다.ex) 입력값 5i=1 -> sum = 1i=2 -> sum = 1 + 2i=3 -> sum = 3 + 3 i=4
테스트 케이스의 개수가 최대 1,000,000가 나올 수 있는 상황입니다.문제에서는 하나씩 출력해도 된다고 하지만 js는 하나씩 출력을 하면 필히 시간 초과라는 결과를 얻었습니다.그래서 하나의 문자열에 결과값과 개행 문자를 넣어 마지막에 출력을 했습니다.for 문을 사
가장 먼저 생각한 코드는 다음과 같습니다. 가장 기본적인 반복문 형태입니다.i 값이 입력값num의 값이 될때까지 계속해서 그 값을 출력해주는 형태입니다.하지만, 시간초과로 코드가 완벽하게 돌아가지 않습니다.따라서, 빠른 A+B와 같이 따로 마지막에 호출하는 값 answ
하나씩 반복문안에서 숫자를 찍어주는 것은 시간초과이므로,answer 값에 값들을 저장하고, 마지막에 answer 값을 출력하는 방식입니다.
이번엔 \`\`(백틱)의 사용과 ${}을 사용할 수 있는지 물어보는 문제인거 같습니다.템플릿 리터럴을 통해 표현식 삽입이 편합니다.
11021번과 동일한 형식으로 문제를 풀면 됩니다.11021 -> 근데, "=" 표시를 자꾸 ":"로 표기해서 에러나서 시간을 깎아먹었다는...더 꼼꼼히, 더 자세히 들여다보는 습관을 가지자!!
1\. 첫번째 방법은 sum 값에 \* 값을 할당하여 반복문이 돌때마다 별의 개수가 늘어나며 하나씩 출력되는 방법입니다.ex) 입력값 5 (x 가 별이라고 가정)i = 1 일때 sum = xi = 2 일때 sum = x + xi = 3 일때 sum = xx + xi =
저는 정사각형을 찍은 다음, if문의 조건에 맞춰 공백과 \* 로 나누었습니다.정사각형 만들기i = 1일때, j= 1,2,3,4,5 를 돌며 \*을 찍게 됩니다.반복하여 i = 5 일때는 xxxxxxxxxxxxxxxxxxxxxxxxx와 같은 모양이 만들어집니다.이때,
1\. N,X 는 입력받은 첫번째 배열에 띄어쓰기에 맞춰 하나씩 할당됩니다.ex) 첫번째줄에 10 5 라면 N = 10, X = 5 가 됩니다.잠깐! 구분이 갈 수 있는 이유! 복습하고 가기~제에 있는 입력값을 가져오고, 배열로 나열을 위해 toString()으로 문자
문제풀이에 앞서 for문 VS while문while 문이나 for문이나 루프(loop)라고 합니다. 정해진 코드를 반복한다는 뜻입니다. 1\. while문: 반복횟수가 (조건식) 이 유지될 때 까지 반복 for 문: for ( ) 이 안을 보면 반복이 언제 끝날지 알
10951과 10952의 차이점을 알아야 합니다.10952의 경우 0이 들어갈 경우 출력하지 않는다는 예외를 주어, while문에 break를 주어 빠져나오게 하였습니다.하지만, 10951의 경우 입력값을 보면 테스트케이스의 연산값만이 존재하고 끝을 알리는 입력값이 존
가장 먼저 생각한 방법입니다. Function.prototype.apply()함수가 실행될 때 내부 콘텍스트의 this는 객체 자신 또는 window 객체를 가르킵니다.이때 this가 가리키는 대상 바꾸는 방법 중 하나입니다.apply()는 인자로 배열(또는 유사 배열
많은 고민 끝에 배열의 중복을 제거하는 Set객체를 알 수 있었습니다.Set은 중복이 허용되지 않는 객체입니다. 안에 이미 같은 값이 존재한다면 추가되지 않고, 중복값을 허용하지 않아야 한다면 Set을 이용하면 됩니다.numbers에 정수화 시킨 입력값들을 저장합니다.
첫번째 줄 입력값인 총 과목 수를 정수화 시켜서 numbers 변수에 저장합니다.두번째 줄 입력값인 과목마다의 점수들을 띄어쓰기로 구분지어 정수화 시켜서 scores 변수에 저장합니다.Math.max.apply를 이용하여 과목 점수 배열에서 최댓값을 구하여 max 변수
바로 코드를 작성하고 바로 맞은 문제라 조금 더 뿌듯함이 느껴졌던 문제입니당. ㅎㅎ첫번째 줄에 입력받는 문제의 개수를 num 변수에 저장합니다.바깥 for문은 전체 문제가 한번씩 순차적으로 실행되게 하는 반복문이고, 안쪽 for문은 문제 하나당 o,x의 판별을 위한 반
테스트케이스의 갯수인 입력값을 정수화 시켜서 nums 변수에 저장합니다.바깥 for문은 테스트케이스 개수인 nums의 길이 만큼 출력됩니다.scores 변수에는 inputi값 즉 테스트 케이스 한줄 마다의 배열 값을 나타냅니다.studentNum 변수에는 scores
결국엔 또 다른 분의 것을 가지고 문제를 풀었습니다. ㅜㅜ...참고: https://velog.io/@dragoocho/%EB%B0%B1%EC%A4%80-1065-%EB%B2%88-Node.js-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4
charCodeAt: 문자열중 하나를 선택하여 아스키코드 번호로 변환해주는 함수 "문자열".charCodeAt(문자열 자릿수); ex) C를 변환 결과: val.charCodeAt(4) : 67fromCharCode: 아스키코드번호를 받아 문자열을 구성해주는 함수
count 변수에는 정수화 시킨 첫번째 입력값을 저장합니다.number 변수에는 입력값의 개수만큼의 숫자들이 저장되는데, split을 이용하여 하나씩 배열로 저장됩니다.반복문에서는 sum 값에 앞서 선언된 number 안의 값들을 인덱스 마다 합하여 누적된 값이 저장됩
외부 반복문은 첫번째 입력값. 즉, 주어진 테스트케이스 갯수만큼 반복하게 됩니다. testCase에는 그 뒤의 입력값인 테스트케이스 하나씩 마다를 배열로 설정한 값이 저장됩니다.ex)입력값: 3 abctestCase = '3', 'abc';testCount는 위에 있
2일 동안 고민 끝에 스스로 풀어낸 뿌듯한 문제입니다. ㅜㅜ (진짜 한참 멀었다....)많은 분들이 풀이방법을 올려주시지만, 이번엔 봐도 이해가 잘 안가기도 했고, 뭔가 진짜 스스로 만들어 보고 싶고 내가 아는 것들을 잘 응용만 하면 문제가 풀릴거 같다는 생각에 2일동
단어가 안들어가고 그냥 공백 ''가 들어가는 케이스가 있어서 예외가 발생할 수 있다는 사실을 알았고, 공백이 없다면 카운트가 증가하는 식으로 변경하여 맞은 문제입니다.약간의 트릭? 이 있는거 말고는 쉽게 풀 수 있는 문제.
number변수에는 한줄에 나타나져 있는 두 세자리 숫자를 공백으로 구분하여 나누어 저장합니다.fisrNum, seconNum 변수에는 세라지 숫자가 각각 들어가있는 배열들을 거꾸로 뒤집어 나열된 배열을 저장합니다.finalNum1, finalNum2 변수에는 각 배열
![](https://images.velog.io/images/pjh1011409/post/68d317b4-002e-42cb-89e1-fab746a24b04/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86
처음에는 includes()함수를 이용하여 arr배열의 값이 입력값 안에 존재하면 카운트를 증가시키고 전체 입력값 길이에서 카운트 값을 빼주는 방식을 선택했습니다. 하지만, 두번 연속 반복 하는 "c=c=" , "dz=z=" 등과 같은 예외상황이 발생하여 다른 방법을
처음엔 반복문을 통하여 A에 B를 누적해 나간 값과 C에 C가 누적해 나간 값을 비교하는 식의 방법을 떠올렸지만 오히려 생각이 안나고 복잡하다고 생각했습니다.그러다가 생각한 것이 최종코드입니다. 손익분기점은 총 수입값과 총 비용이 같은 지점에서 C를 한 값부터를 말합니
오늘의 교훈.. 문제를 정확히 봅시다. 문제를 다 해결해놓고 문제의 패턴을 파악하지못해 계속 고민하다가 결국 해결한 문제입니다.대략적인 코드 설명while문을 통해 입력값의 위치를 알 수 있습니다.분자의 개수는 1,2,3,4씩 증가하고 거기에 맞춰 레벨이 1,2,3,4
런타임이 에러로 당황했는데 알고보니 쉽게 풀 수 있었던 같습니다.lastLen는 마지막으로 낮에 오르기 전의 도착지점입니다. 달팽이는 낮에 올랐다 밤에 내려가는 패턴이 있지만, 만약 정상에 오르는 경우 오르는 것으로 끝이지 다시 내려가는 경우가 없기때문입니다. 따라서
원리를 알면 생각보다 쉽게 풀리는 문제였습니다.우선 testNum에는 테스트케이스의 개수를 저장합니다.첫번째 반복문을 통해 테스트케이스 각각의 세 가지 값을 arr 배열에 저장합니다.두번째 반복문에서는 H,W,N 각각을 인덱스자리 마다 설정해줍니다. Y는 층수를 구하는
이 코드는 다른 분의 코드를 참조한 것임을 알려드립니다. > 이번 파트에 들어서 가장 안타까운 것은 기본적인 수하 원리와 패턴을 알아내는 것까지는 가능하나, 그것을 코드로 구현하기가 어렵다는 것입니다 ㅜㅜ 이번 문제가 가장 심했는데, 이 문제는 크게 네가지 파트로 나
다른 분들의 코드를 보면 간단해보여 결과를 얻지 못할거 같았지만 저만의 방식으로 해결했습니다.큰틀을 나누면 -1 이 나오는 숫자들과 그렇지 않은 숫자들입니다. 문제에서 원하는 케이스가 나오지 않는 숫자가 2,4,7입니다. 사실, 예외 코드를 만들어서 이 숫자들을 뽑아내
새로 알게된 사실!BigInt는 Number 원시 값이 안정적으로 나타낼 수 있는 최대치인 2^53 - 1보다 큰 정수를 표현할 수 있는 내장 객체입니다.BigInt는 정수 리터럴의 뒤에 n을 붙이거나(10n) 함수 BigInt()를 호출해 생성할 수 있습니다.따라서
![](https://images.velog.io/images/pjh1011409/post/e7e0f298-3e2f-460c-894b-361bfa7d37ab/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86