프로그래머스 Day - 2

ᵁ-ᴷᴺᴼᵂᴺ·2023년 5월 18일
post-thumbnail

1. 덧셈식 출력하기

목표 : 정수 a, b를 입력받아, a + b = c의 형태로 출력

//입력
4 5
//출력
4 + 5 = 9
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.on('line', function (line) {
    const [n1, n2]= line.split(' ');
    console.log(n1,"+",n2,"=", Number(n1)+Number(n2))
})
  • readline Interface의 인스턴스를 rl로 설정한다.
    • .on의 'line' 메서드를 사용하여, 입력받은 줄을 읽어온다.
    • const [n1, n2]에 입력값을 한줄을 두개로 분리한다.
    • console.log로 출력형태에 맞춰 출력한다.

2. 문자열 붙여서 출력하기

목표 : 두 개의 문자열 str1, str2를 입력받아 두 문자열을 붙여서 출력

//입력
apple pen
//출력
applepen
rl.on('line', function (line) {
    const [str1, str2] = line.split(' ');
    console.log(str1+str2)
    
})

(rl 인스턴스를 불러오는 과정은 생략한다.)

  • 입력받은 공백으로 분리된 문자열을 split를 사용하여 두개로 분리하여 const [str1, str2]에 저장한다.
  • console.log를 사용하여 두 문자열을 붙여서 출력한다.

3. 문자열 돌리기

목표 : 입력받은 str문자열을 90º돌려서 출력

//입력
abcde
//출력
a
b
c
d
e
rl.on('line', function (line) {
    for(let i of line){
        console.log(i)
    }
})

(rl 인스턴스를 불러오는 과정은 생략)

  • .on의 콜백함수에서 line의 문자열의 길이만큼 반복한다.
  • 반복문의 변수 i에는 line의 문자열이 순서대로 들어간다.
  • 출력할 때 마다 개행하는 성질을 가진 console.log를 이용해 i를 출력하면 결과적으로 입력받은 문자열을 세로로 출력하게된다.

4. 홀짝 구분하기

목표 : 입력받은 자연수 n을 홀짝 구분

//입력
100
//출력
100 is even
rl.on('line', (line)=> {
    let n = Number(line.split(' '));
    console.log(n%2==0? n+" is even": n+" is odd");  
})

(rl 인스턴스를 불러오는 과정은 생략)

  • 입력받은 줄(문자열)을 숫자로 바꿔주는 Number()를 사용하여 변수 n에 저장한다.
  • console.log를 사용하여 출력하는데, 3항 연산자를 사용해 n을 2로 나눴을때 0이면, "is even"을 출력하고 0이 아니면 "is odd"를 출력한다.

5. 문자열 겹쳐쓰기

목표 : 첫 번째 문자열에 두 번째 문자열을 겹쳐 출력

//입력(my_string, overwrite_string, s)
"He11oWor1d", "lloWorl", 2
//출력
"HelloWorld"
function solution(my_string, overwrite_string, s) {
    const str1 = my_string.split('');
    let n = 0
    for (let i of overwrite_string){
        str1[s+n] = i;
        n++;
    }
    return str1.join("");
}
  • 입력받은 문자열 my_string을 잘라 str1변수에 넣어준다.
  • str1의 특정 Index를 바꾸기위해 n=0으로 설정해준다. (입력받은 Index부터 다음 Index로 넘어가기 위해서)
  • overwrite_string의 길이만큼 반복한다.
  • str1의 [Start Index, Next Index]를 설정해주고 해당 인덱스에 overwrite_string에서 받아온 문자로 변경한다.
  • str1은 array이기 때문에, join("")을 사용하여 문자열로 바꿔준 후 출력한다.
profile
ΔIM ΩΠ ҒULLSTΔCҜ

0개의 댓글