본문 바로가기

분류 전체보기181

[프로그래머스 카카오 인턴] 성격유형검사 (hash) https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 로직 1. survey와 chocies를 돌려서 각 유형마다 얻은 점수 통계 (해쉬) 2. 타입별 sort (점수가 높은거 선택, 점수가 같을시엔 알파벳 순 높은거 선택) // n개 질문, 7개 선택지 // 각 지표는 더 높은 점수, 같으면 사전순 빠른 순 function solution(survey, choices) { var answer = ''; const type = [['R', 'T'].. 2023. 8. 30.
[프로그래머스 카카오블라인드] 문자열 압축 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 "aabbaccc"의 경우 "2a2ba3c"(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 .. 2023. 8. 30.
[프로그래머스 LV2] 리코쳇 로봇 (bfs) https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 리코쳇 로봇이라는 보드게임이 있습니다. 이 보드게임은 격자모양 게임판 위에서 말을 움직이는 게임으로, 시작 위치에서 목표 위치까지 최소 몇 번만에 도달할 수 있는지 말하는 게임입니다. 이 게임에서 말의 움직임은 상, 하, 좌, 우 4방향 중 하나를 선택해서 게임판 위의 장애물이나 맨 끝에 부딪힐 때까지 미끄러져 이동하는 것을 한 번의 이동으로 칩니다. 다음은 보드게임판을 나타낸 예시입.. 2023. 8. 29.
[프로그래머스LV2] 미로찾기 (bfs) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 x 1 크기의 칸들로 이루어진 직사각형 격자 형태의 미로에서 탈출하려고 합니다. 각 칸은 통로 또는 벽으로 구성되어 있으며, 벽으로 된 칸은 지나갈 수 없고 통로로 된 칸으로만 이동할 수 있습니다. 통로들 중 한 칸에는 미로를 빠져나가는 문이 있는데, 이 문은 레버를 당겨서만 열 수 있습니다. 레버 또한 통로들 중 한 칸에 있습니다. 따라서, 출발 지점에서 먼저 레버가 있는 칸으로 이동하여 레버를 당긴 후 미로를 빠져나가는 문이 있는 칸으로 이동하면 됩니다. 이때 아직 레버를 당기지 않았더라도 출구가 있는.. 2023. 8. 29.
[프로그래머스 LV2] 게임 맵 최단거리 https://school.programmers.co.kr/learn/courses/30/lessons/1844?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5.. 2023. 8. 28.
[프로그래머스 LV2] 소수찾기 (JS) https://school.programmers.co.kr/learn/courses/30/lessons/42839 소수란 1과 자기 자신 이외의 자연수로는 나눌 수 없는 자연수 2,3,5,7,11..... 1은 소수가 아니다 2는 소수 중 유일한 짝수이다 n이 소수인지 확인하기 n이 소수이려면 1과 n자기 자신만이 약수여야 한다. n이 1과 자기자신을 제외한 수로 나눠지면 소수가 아니고 나눠지지 않으면 소수이다. 2부터 n-1까지를 모두 순회하며 확인 할 수 있지만 이는 효율성이 떨어진다. 사실 제곱근 이하의 수만 n으로 나눠떨어지는지 판별해도 n이 소수인지 알 수 있다. 제곱근 이상의 수는 이미 제곱근 이전의 약수와 짝을 이루기 때문이다 만약 100의 약수를 찾을 때 약수들은 1, 2, 5, 10, 2.. 2023. 8. 28.