WHAT I LEARNED/Algorithm

[프로그래머스 / 자바스크립트] 음양더하기

보니bonnie 2022. 1. 24. 15:46
728x90

내 담당 두 번째 문제! 난이도 하에 해당되는 음양더하기인데.. 흠 글쎄.

왕초보인 내가 보기엔 머리가 멍해진다.

문제를 차근차근 뜯어보며 문제부터 이해하려고 했다.

  • (배열 안에 들어있는) 정수들의 합을 구하라고 했으니 : '반복문' 사용 당첨
  • boolean이란 말이 있으니 true/false를 구해야 하므로 : 'if문' 당첨

결론 = '반복문'과 'if문'을 잘 버무려야 한다!

 

입출력 예를 보면 이해가 쏙쏙..!

 

.

.

.

 

머리 굴리다가 내가 정리한 코드는 💡

function solution(absolutes, signs) {
    let answer = '';
    
    for (let i = 0 ; i < absolutes.length; i++) {
        if (signs[i] == true) {
            answer += absolutes[i]; 
        } else {
            answer -= absolutes[i]
        }
    }
    return answer
}

한 발짝은 아니고 한 두 발짝만 더 가면 됐는데,,, 아쉽게 결국 다른 분들의 답안을 참고하여 완성..

 

💪🏻 나의 부족했던 부분

  • 문제 속 "signs.length = absolutes.length" 에 집착해버려 for 문을 굳이 굳이 두 번 사용했다. absol 한 번, sign 한 번,,,ㅎ
  • true를 'true'로 적어 문자열로 만들어 버렸다.
    signs = [true, true, true]인데, 내가 적은대로 되게하려면 ['true', 'true', 'true']가 됐었어야 하는 듯.
  • 어떻게 양수, 음수로 만들어야 할 지 잘 떠오르지 않았다. 나는 '+' + absoulutes[i]로 할랬는데 참고해서 바꾸길 잘한듯^^..
    참고한 분의 답안에는 answer = answer + absolutes[i]인게 살짝 이해가 안됐지만 극복했다. 그 분은 위에서 var = 0이라고 선언을 했었다. answer = 0 + absolutes[i] 니까 양수, answer = 0 - absolutes[i]니까 음수가 된다는 걸 이해. 
  • 내가 자꾸 return answer 함수 바깥으로 빼버려서 서로 어리둥절한 상황 발생

흑흑.. 이렇게 적고 보니 부족함 투성이구나...

 

뭔가 프로그래머스를 지켜본 바로는

깔끔한 코드의 조건이 조건부 삼항 연산자인 것 같아 그렇게 구현해보려했지만 실패..

값을 어떻게 적을 수가 없을까...? 이것도 하나의 숙제다. 근데 언제 풀지는 모르는..💣

 

-

아무튼 다른 분들은 너무너무 쉽다길래 살짝 자괴감에 빠질 뻔 했지만

나의 쥐콩만한 코딩 배움 기간을 생각하면서 가라앉혔다.

알고리즘 문제 푸는거 아직 난이도 하라서 크게 어렵지는 않다. 뚜벅뚜벅 걸어가야징..👣

 

 

 

📍 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/76501

 

코딩테스트 연습 - 음양 더하기

어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re

programmers.co.kr

 

728x90