분류 전체보기 113

코딩 테스트 / 옹알이 (1), 정수를 나선형으로 배치하기

옹알이 (1) ※풀이 1. validSounds 변수에 "aya", "ye", "woo", "ma"를 포함한 Set을 생성합니다. 이 Set은 유효한 발음을 저장하는데 사용됩니다. 2. reduce 함수를 사용하여 babbling 배열을 순회합니다. reduce 함수는 초기값으로 0을 설정하고, 각 단어를 처리하면서 유효한 발음을 확인하고 카운트를 증가시킵니다. 3. isValid 변수를 true로 저장 합니다. 이 변수는 현재 단어가 유효한 발음으로 이루어져 있는지 여부를 나타냅니다. 4. remainingWord 변수에 현재 단어를 할당합니다. 5. while 루프를 사용하여 remainingWord의 길이가 0보다 큰 동안 반복합니다. 6. foundValidSound 변수를 false로 초기화합니..

programmers 2023.06.06

코딩 테스트 / 안전지대, 겹치는 선분의 길이

안전지대 ※풀이 1. 보드의 크기인 n을 구합니다. board.length를 통해 구할 수 있습니다. 2. 위험 영역을 탐색하기 위해 상대적인 좌표 차이를 저장하는 d 배열을 생성합니다. 각 요소는 [행의 변화량, 열의 변화량]을 나타냅니다. 3. 위험 영역을 저장할 dangerZone이라는 빈 Set을 생성합니다. 4. 이중 반복문을 사용하여 보드를 탐색합니다. · board[i][j] === 1인 경우, 현재 위치가 위험 영역임을 나타냅니다. · d 배열의 각 요소에 대해서, 현재 위치에서 변화량을 더한 새로운 위치 [col, row]를 계산합니다. · 새로운 위치 [col, row]가 보드 내에 있는 경우, 해당 위치를 dangerZone Set에 추가합니다. 5. n*n에서 dangerZone의 ..

programmers 2023.06.05

코딩 테스트 / 저주의 숫자 3, 다항식 더하기

저주의 숫자 3 ※풀이 1. 초기값으로 answer를 0으로 설정하고, 숫자들을 저장할 빈 배열 arr을 생성합니다. 2. 반복문을 사용하여 0부터 n까지의 수를 반복합니다. · answer를 1씩 증가시킵니다. · while 루프를 사용하여 answer가 3의 배수이거나 숫자 내에 3이 포함되어 있는 경우, answer를 1씩 증가시킵니다. · answer % 3 == 0: answer가 3의 배수인지 확인합니다. · answer.toString().split('').includes('3'): answer를 문자열로 변환한 후, split() 함수를 사용하여 각 자릿수로 분리한 배열에 '3'이 포함되어 있는지 확인합니다. · 위의 두 조건 중 하나라도 참일 경우, while 루프를 계속 반복하며 ans..

programmers 2023.06.04

코딩 테스트 / 컨트롤 제트, 등수 매기기

컨트롤 제트 ※풀이 1. s = s.split(' ') 코드는 주어진 문자열 s를 공백을 기준으로 분리하여 배열로 만듭니다. 이렇게 하면 s는 문자열 배열이 됩니다. 2. result라는 빈 배열을 선언합니다. 이 배열은 최종 결과를 저장할 배열입니다. 3. 반복문을 통해 s의 각 요소를 순회합니다. 반복문의 변수 i는 s의 각 요소를 차례대로 가리킵니다. 4. if(i === 'Z') 조건문은 현재 요소 i가 문자열 'Z'인지 확인합니다. 만약 그렇다면 result.pop()을 호출하여 result 배열에서 마지막 요소를 제거합니다. 이는 'Z'의 동작을 시뮬레이션하는 부분입니다. 5. else 블록은 i가 문자열 'Z'가 아닌 경우 실행됩니다. 이 경우, i를 숫자로 변환하여 result 배열에 추가..

programmers 2023.06.02

코딩 테스트 / 외계어 사전, 문자열 밀기

외계어 사전 ※풀이 1. dic.some() 메소드는 dic 배열의 각 요소에 대해 주어진 콜백 함수를 실행합니다. 2. 콜백 함수는 v라는 변수를 가지고 있으며, v는 dic 배열의 각 요소입니다. 3.v를 배열로 변환하여 각 문자를 개별 요소로 가지는 새로운 배열을 만듭니다. ([...v]) 4.이 새로운 배열을 정렬합니다. ([...v].sort()) 5.정렬된 배열을 문자열로 변환합니다. ([...v].sort().toString()) 6. spell을 배열로 변환하여 위와 동일한 과정을 거칩니다. ([...spell].sort().toString()) 7.변환된 두 문자열을 비교하여 일치하는지 확인합니다. 8.일치하는 경우 dic.some() 메소드는 true를 반환하고, 그렇지 않은 경우 fa..

programmers 2023.06.01

패럴렉스 이펙트 가로 효과, 가로/세로 효과

가로 효과 전체 소스 1. const parallaxCont = document.querySelector(".parallaxs__wrap");: parallaxs__wrap 클래스를 가진 요소를 선택하여 parallaxCont 변수에 할당합니다. 이 요소는 패럴랙스 효과를 적용할 부분을 감싸는 컨테이너입니다. 2. let scrollTop = window.pageYOffset;: scrollTop 변수에 현재 스크롤의 수직 위치를 저장합니다. 3. let parallaxWidth = parallaxCont.offsetWidth;: parallaxCont 요소의 너비를 저장하는 parallaxWidth 변수를 생성합니다. 4. document.body.style.height = parallaxWidth +..

JAVASCRIPT 2023.05.31

코딩 테스트 / 진료 순서 정하기, 영어가 싫어요

진료 순서 정하기 ※풀이 1. emergency.slice()를 사용하여 emergency 배열의 복사본인 order 배열을 생성합니다. 2. order 배열을 내림차순으로 정렬합니다. sort() 메소드에 콜백 함수를 전달하여 정렬 순서를 지정합니다. 3. emergency 배열의 각 요소 v에 대해 다음을 수행합니다: 4. order.indexOf(v)를 사용하여 v의 인덱스를 order 배열에서 찾습니다. 5. 해당 인덱스에 1을 더한 값을 반환하는 새로운 배열을 생성합니다. 6. 생성된 배열을 반환합니다. slice() JavaScript 배열 객체의 내장 메소드입니다. 이 메소드를 사용하면 배열의 일부분을 추출하여 새로운 배열을 반환할 수 있습니다. sort() JavaScript 배열 객체의 ..

programmers 2023.05.31

코딩 테스트 / 한 번만 등장한 문자, 잘라서 배열로 저장하기

한 번만 등장한 문자 ※풀이 1. [...s]를 사용하여 문자열 s를 배열로 변환합니다. 이렇게 하면 문자열의 각 문자가 배열의 요소로 들어갑니다. 2. filter() 메서드를 사용하여 배열의 각 요소 c에 대해 다음 조건을 검사합니다: ·s.match(new RegExp(c, 'g'))는 정규 표현식 c와 매치되는 문자열의 배열을 반환합니다. ·s.match(new RegExp(c, 'g')).length는 c와 매치되는 문자열의 개수를 반환합니다. ·s.match(new RegExp(c, 'g')).length == 1는 c와 매치되는 문자열의 개수가 1인 경우를 검사합니다. 3. 조건을 만족하는 요소들로 이루어진 새로운 배열이 반환됩니다. 4. sort() 메서드를 사용하여 반환된 배열을 알파벳 ..

programmers 2023.05.30

코딩 테스트 / k의 개수, 가까운 수

k의 개수 ※풀이 1. Array(j-i+1)을 사용하여 길이가 j-i+1인 빈 배열을 생성합니다. 2 .fill(i)를 사용하여 빈 배열의 모든 요소를 i로 채웁니다. 3. map((v,index) => v + index)를 사용하여 각 요소에 인덱스를 더합니다. 이로써 배열은 [i, i+1, i+2, ..., j]의 숫자들을 가지게 됩니다. 4. join('')을 사용하여 배열의 요소들을 문자열로 결합합니다. 숫자들이 하나의 문자열로 이어집니다. 5. split(k)를 사용하여 문자열을 k를 기준으로 분리합니다. 이를 통해 k가 등장하는 부분들이 배열로 분리됩니다. 6. length - 1을 사용하여 분리된 배열의 길이에서 1을 뺍니다. 이는 k가 등장한 횟수를 나타냅니다. 그후 리턴하여 결과값을 보..

programmers 2023.05.29

코딩 테스트 / A로 B 만들기,팩토리얼

A로 B 만들기 ※풀이 1. before와 after를 각각 문자 단위로 분리하여 배열로 변환합니다. 2. before.split('')와 after.split('')를 사용하여 문자열을 문자 단위로 분리한 배열을 생성합니다. 분리한 배열을 정렬합니다. 3. sort()를 사용하여 배열을 정렬합니다. 기본적으로는 유니코드에 따라 정렬됩니다. 정렬된 배열을 문자열로 결합합니다. 3. join()을 사용하여 배열의 요소를 문자열로 결합합니다. 기본적으로는 쉼표로 구분됩니다. 4. before와 after를 정렬 및 결합한 문자열을 비교하여 같은지 확인하여, 같으면 1을 반환하고, 다르면 0을 반환합니다. sort() JavaScript 배열의 메서드로, 배열의 요소들을 정렬하는 기능을 제공합니다. 이 메서드..

programmers 2023.05.28