본문 바로가기

반응형

알고리즘

(37)
핸드폰 가리기 - 프로그래머스 level1(JavaScript) 오늘은 핸드폰 가리기 문제를 풀어보곘습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr 풀이 방법 - repeat 함수와 slice 함수를 이용해서 간단하게 구할 수 있습니다. - 4자리를 제외한 자리는 repeat 함수를 이용해서 *로 채우고 나머지 부분은 문자로 채우면 됩니다. 소스 코드 function solution(phone_number) { re..
문자열 내림차순으로 배치하기 - 프로그래머스 level1(JavaScript) 오늘은 문자열 내림차순으로 배치하기 문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 풀이 방법 - 1. 문자열을 split으로 쪼개줍니다. - 2. sort() 메소드를 이용해서 아스키코드 기준으로 정렬해줍니다. - 3. 역순으로 정렬해줍니다. - 4. 문자 배열로 쪼개놨으니까 join을 이용해서 다시 합쳐줍니다. 소스 코드 func..
서울에서 김서방 찾기 - 프로그래머스 level1(JavaScript) 오늘은 서울에서 김서방 찾기문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12919 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니 programmers.co.kr 풀이 방법 배열의 indexOf 메소드를 이용해서 위치를 간단하게 구할 수 있습니다. 소스 코드 function solution(seoul) { return "김서방은 "+seoul.indexOf("Kim")+"에..
문자열 다루기 기본 - 프로그래머스 level1(JavaScript) - 검토 오늘은 문자열 다루기 기본을 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 programmers.co.kr 풀기 전 지식 이 문제를 풀기 전 isNaN이라는 함수를 공부하였습니다. isNaN이란 is not a number의 줄임말로, 숫자가 맞는지 아닌지를 판단하는 함수입니다. isNaN(3) // false isNaN(1e22) // fal..
행렬의 덧셈 - 프로그래머스 level1(JavaScript) 오늘은 행렬의 덧셈 프로그래머스 level1 문제를 풀어보도록 하겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12950 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr 풀이 방법 자바스크립트 배열의 메소드인 map을 이용해서 쉽게 구할 수 있습니다. arr1과 arr2의 행과 열의 길이가 같기 때문에 arr1을 이용해서 map 연산을 해줍니다. arr2의 원소와 arr1의 원소를 더해주면 됩니다. ..
이상한 문자 만들기 - 프로그래머스 level1(JavaScript) 오늘은 프로그래머스 level1 문제인 이상한 문자 만들기를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 풀이 방법 - 먼저 split으로 공백 기준으로 나눈 후에, 각 단어마다 짝수 인덱스면 대문자 홀수 인덱스면 소문자로 변환해줍니다. 소스 코드 function solution(s) { let answer = ''; const array = s.spl..
시저 암호 - 프로그래머스 level1 오늘은 시저 암호 문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 풀이 방법 문자열 반복문을 돌면서 소문자인지 공백인지 대문자인지 확인해주고, 아스키코드를 기준으로 정답 문자열에 누적해주면 됩니다. 소스 코드 function solution(s, n) { let answer = ''; const largeA = 65; const la..
직사각형 별찍기 - 프로그래머스 level1(javascript) 오늘은 직사각형 별찍기 문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12969 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수 programmers.co.kr 풀이 방법 - 이중 포문으로 반복을 돌릴 수도 있겠지만 그렇게 하는 것보단 repeat함수를 통해서 * 반복을 할 수 있습니다. 소스 코드 process.stdin.setEncoding('utf8'); process.stdin.on('data', data => {..