프로그래머스 4-3 TIL

Seunggyu Jung·2023년 4월 3일
0
post-thumbnail

Day 13 2/4 : 배열 원소의 길이

Q. 문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 retrun하도록 solution 함수를 완성해주세요.

내 풀이

function solution(strlist) {
    return strlist.map((el) => (el).length);
}

해설

  • 1단계. 본 문제의 경우, 배열로 된 매개변수의 요소들의 길이를 구하며 순회하는 문제라는 것을 파악한다.
  • 2단계. map메서드로 매개변수를 순환시키되, 각 요소를 요소의 길이로 반환되도록 .length 를 메서드 채이닝 시킨다.

Day 24 1/4 : 이진수 더하기

Q. 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.

내 풀이

function solution(bin1, bin2) {
    return  (parseInt(bin2, 2) + parseInt(bin1, 2)).toString(2);
}

해설

  • 1단계. 이진수는 string 형태로 감싸져있으며, parseInt(a, n)을 이용하여 n진수인 a를 10진수로 바꿔준다.
  • 2단계. 그렇게 이진수로 되어있는 매개변수를 10진수로 변환시켜 더한 뒤, toString(n)으로 n진수로 바꿔준다. 즉, n에 2를 넣어 다시 이진수로 바꿔준다.

마무리

  • 원래 이진수 문제는 한참 뒤에 나올 문제지만, 수업에서 배운 내용을 적용해보고 싶어 복습차원에서 풀어봤다.
  • 10진수는 숫자열로 되어 있으며,나머지 수체계들은 string, 문자열로 되어있기 때문에, 10진수로 만들고 싶을때는 parseInt(a, n)를 사용하고, 그 반대의 경우에는 toString(n)를 사용한다.
  • parseInt(a, n)에서 n은 a의 수체계를 넣어야 한다.
console.log(parseInt(n4, 2));  // 2진법으로 된 숫자를 10진법으로 바꾸는 것이다.
console.log(parseInt(n4, 8));  // 8진법으로 된 숫자를 10진법으로 바꾸는 것이다.
console.log(parseInt(n4, 10));  // 10진법으로 된 숫자를 10진법으로 바꾸는 것이다.
profile
감동을 주고픈 개발자(준비생)

0개의 댓글