목록프로그래머스 (167)
안녕하세요
https://school.programmers.co.kr/learn/courses/30/lessons/160586 문제 요약 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C" 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열 같은 문자가 자판 전체에 여러 번 할당된 경우 키 하나에 같은 문자가 여러 번 할당 심지어 아예 할당되지 않은 경우도 있음 이 휴대폰 자판을 이용해 특정 문자열을 작성할 때, 키를 최소 몇 번 눌러야 그 문자열을 작성할 수 있는지 순서대로 담긴 문자열배열 keymap과 입력하려는 문자열들이 담긴 문자열 배열 targets가 주어질..
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 네트워크는 연결되어 있는 컴퓨터들의 집합입니다. 전체 네트워크의 수를 확인하시오. 문제 풀이 // 1,2,3,... 각각의 노드에서 이후의 번호에 대해 연결된 곳을 찾기 // 연결된 숫자들에 대해서는 재탐색을 하지 않음 // 이 뒤로 연결된 네트워크가 없을 경우에는 네트워크 카운트 +1 function solution(n, computers) { var answer = 0; let ch..
덧칠하기 문제보기 문제 요약 n미터인 벽을 m길이의 페인터로 칠하는 최소한의 횟수를 구하시오. 문제 조건 각 구역에 왼쪽부터 순서대로 1번부터 n번까지 번호 벽에 페인트를 칠하는 롤러의 길이는 m미터 롤러가 벽에서 벗어나면 안 됩니다. 구역의 일부분만 포함되도록 칠하면 안 됩니다. 페인트칠을 하는 횟수를 최소화 정수 n, m과 다시 페인트를 칠하기로 정한 구역들의 번호가 담긴 정수 배열 section 문제 풀이 function solution(n, m, section) { section.reverse(); let count = 0; while (section.length) { const currentSwipe = section[section.length - 1] + m - 1; count++; while..
추억 점수 문제보기 문제 요약 이름 배열이 주어집니다. ["김","이","박"] 이름 마다 점수가 정해져 있습니다. [1,5,10] photo 배열이 주어집니다. [["김","장"]] 이름에 해당하는 점수의 합산을 반환합니다. [1] 문제 풀이 function solution(name, yearning, photo) { const nameScoreMap = new Map(); name.forEach((item, index) => nameScoreMap.set(item, yearning[index])); const answer = photo.map((item) => { return item.map((name) => (nameScoreMap.get(name) ? nameScoreMap.get(name) : ..