Programers 비밀지도 (2018 카카오 신입 공채 1차) - JavaScript

2022. 9. 23. 14:10·Algorithm
반응형

문제 제목 : 비밀지도 (2018 카카오 신입 공채 1차)

문제 유형 : 완전 탐색, 이진법

출제 플랫폼 : Programers

문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/17681

 

PesudoCode and Exception

// PesudoCode

1) arr1, arr2를 이진법으로 바꾸게 되면 길이가 다 다르므로 최대 길이를 확인한다.

2) '1011' , '110111'는 길이가 다르기 떄문에 거꾸로 하나씩 확인하며 길이가 다른부분은 0으로 생각한다.

3) 동일한 위치에 '1'이 한곳에만 있어도 새로운 맵에 표현해야 한다.

4) 양쪽에 '1'없는 곳에만 맵에 표현안한다는 조건문을 이용하여 map을 통해 변경한다.

 

내가 푼 답안

function solution(n, arr1, arr2) {
    let len = (Math.max(...arr1, ...arr2)).toString(2).length
    
    return arr1.map((_, idx) => {
        let temp = '';
        let one = arr1[idx].toString(2).split('').reverse()
        let two = arr2[idx].toString(2).split('').reverse()
        
        for(let i = 0; i < len; i++) {
            if(one[i] !== '1' && two[i] !== '1') temp += ' '
            else temp += '#'
        }
        
        return [...temp].reverse().join("");
    })
    
}

 

다른 사람의 풀이

function solution(n, arr1, arr2) {
    return arr1.map((v, i) => addZero(n, (v | arr2[i]).toString(2)).replace(/1|0/g, a => +a ? '#' : ' '));
}

const addZero = (n, s) => {
    return '0'.repeat(n - s.length) + s;
}

 

배운점

1) 정규식 표현 중 /[0-9]/g를 이용하면 string 'sd10' 에서 '10'을 같이 찾을 수 없다('1', '0' 따로 찾음)

2) .toString() 사용하여 number가 담겨있는 string을 number type으로 바꿀 수 있고, 여러 진법으로도 변경가능
  - (11).toString() // '11' 기본값은 10진법이다
  - (11).toString(2) // '1011'
  - (11).toString(8) // '13'
  - (11).toString(10) // '11'
반응형
저작자표시 (새창열림)

'Algorithm' 카테고리의 다른 글

[Python, 이분탐색] 백준 1072 게임  (1) 2024.10.28
Programsers JadenCase 문자열 만들기 - JavaScript  (0) 2022.10.14
Programers 키패드 누르기 (2020 카카오 인턴십) - JavaScript  (1) 2022.09.23
Programers 체육복 - JavaScript  (0) 2022.09.22
Programers 로또의 최고 순위와 최저 순위 - JavaScript  (1) 2022.09.22
'Algorithm' 카테고리의 다른 글
  • Programsers JadenCase 문자열 만들기 - JavaScript
  • Programers 키패드 누르기 (2020 카카오 인턴십) - JavaScript
  • Programers 체육복 - JavaScript
  • Programers 로또의 최고 순위와 최저 순위 - JavaScript
OverFlowBIN
OverFlowBIN
    반응형
  • OverFlowBIN
    OverFlowBIN BE Tech Blog
    OverFlowBIN
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 전체보기
      • Computer Science
      • BE Study
      • MySQL
      • Algorithm
      • Language
        • TypeScript
        • JavaScript
        • Python
        • JAVA
      • Spring Boot
      • Programing Tool
      • Group Study
      • HTTP
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    app engine
    의존성 주입
    algorithm
    spring boot
    python #내장함수 #자료구조
    Java
    게시판 만들기
    Nullish
    thymeleaf
    백엔드
    논리연산자
    일급함수
    Google Cloud
    MongoDB
    axios
    httpie
    일급 함수
    Spring
    javascript
    backend
    bootstrap
    단축평가
    이분탐색
    programers
    이진검색
    코딩테스트
    동작원리
    기술면접
    back-end
    node.js
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
OverFlowBIN
Programers 비밀지도 (2018 카카오 신입 공채 1차) - JavaScript
상단으로

티스토리툴바