[문제1]
https://www.acmicpc.net/problem/11720
11720번: 숫자의 합
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
www.acmicpc.net
[나의 코드]
let fs = require("fs");
let input = fs.readFileSync("dev/stdin").toString().split("\n");
let n = Number(input[0])
let array=input[1].split("").map(Number)
console.log(array.reduce((a,b)=>a+b))
1분컷
[문제2]
https://www.acmicpc.net/problem/2675
2675번: 문자열 반복
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다
www.acmicpc.net
[나의 코드]
let fs = require("fs");
let input = fs.readFileSync("dev/stdin").toString().split("\n");
let n = Number(input[0])
let answer="";
for(i=1;i<=n;i++){
let repeatNum =input[i].split(" ")[0]
let array =input[i].split(" ")[1]
for(j=0;j<array.length;j++){
answer=answer+array[j].repeat(repeatNum)
}
answer=answer+"\n"
}
console.log(answer)
[문제3]
https://www.acmicpc.net/problem/2908
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
[나의코드]
let fs = require("fs");
let input = fs.readFileSync("input.txt").toString().split("\n");
let [a,b]=input[0].split(" ")
let reverseA=Number(a.split("").reverse().join(""))
let reverseB=Number(b.split("").reverse().join(""))
console.log(Math.max(reverseA,reverseB))
[문제4]
https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
[나의코드]
let fs = require("fs");
let input = fs.readFileSync("dev/stdin").toString().split("\n");
let n = Number(input[0])
let answer=n;
for(i=1;i<=n;i++){
let tempArray=[];
for(j=0;j<input[i].length;j++){
tempArray.push(input[i][j-1])
if(tempArray.includes(input[i][j]) && input[i][j-1]!==input[i][j]){
answer=answer-1
break
}
}
}
console.log(answer)
앞에는 다 2분컷이었는데 이거 하나에 30분 넘게 걸린듯...return 과 break를 혼동하여 왜 console.log가 안찍히나<= 이거 때문에 엄청 오래걸렸음
[문제5]
https://www.acmicpc.net/problem/1152
1152번: 단어의 개수
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열
www.acmicpc.net
[나의코드]
let fs = require("fs");
let input = fs.readFileSync("dev/stdin").toString().split("\n");
let string = input[0]
let array=string.split(" ")
let answer=array.length
for(i=0;i<array.length;i++){
if(!array[i]){
answer=answer-1
}
}
console.log(answer)
처음에 메모리 초과 떠서 살짝 리팩토링해서 통과
[메모리 초과 뜬 코드]
let fs = require("fs");
let input = fs.readFileSync("dev/stdin").toString().split("\n");
let string = input[0]
let answer=string.split(" ").length
for(i=0;i<string.split(" ").length;i++){
if(string.split(" ")[i]===""){
answer=answer-1
}
}
console.log(answer)
'알고리즘' 카테고리의 다른 글
프로그래머스 > 카카오 개발자 겨울 인턴십 > 튜플 (0) | 2023.04.01 |
---|---|
프로그래머스 > 완전 탐색 > 소수 찾기 (0) | 2023.03.31 |
자바스크립트 배열 문제풀이 (0) | 2023.03.23 |
자바스크립트 반복문 문제풀이 (0) | 2023.03.23 |
자바스크립트 조건문 문제풀이 (0) | 2023.03.21 |