[프로그래머스] Lv.1 숫자 문자열과 영단어 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2021 카카오 채용연계형 인턴십에 나온 문제입니다.주어진 문자열에 숫자와 영단어로 표현된 숫자가 섞여 있을 때, 이를 모두 숫자로 변환해주세요.1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 풀이 방법영단어를 미리 벡터에 저장한 뒤, 문자열에서 영단어를 찾아 숫자로 치환하는 방식으로 해결했습니다.영단어가 발견되면 해당 위치를 숫자로 변경하며 문자열을 반복적으로 수정..
[프로그래머스] Lv.1 키패드 누르기 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2020 카카오 인턴십에 나온 문제입니다. 스마트폰 키패드에서 숫자를 입력할 때, 왼손과 오른손의 엄지손가락을 이용해 특정 규칙에 따라 번호를 누릅니다.엄지손가락 사용 규칙왼쪽 열(1, 4, 7): 왼손으로 누릅니다.오른쪽 열(3, 6, 9): 오른손으로 누릅니다.가운데 열(2, 5, 8, 0):두 손가락 중 키패드와 더 가까운 손을 사용합니다.거리가 같으면 오른손잡이는 오른손, 왼손잡이는 왼손을 사용합니다. 풀이 방법키패드 번호를 좌표로 변환..
[프로그래머스] Lv.1 신규 아이디 추천 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2021 KAKAO BLIND RECRUITMENT에 나온 문제입니다.신규 아이디를 입력받고 아래 단계에 따라 아이디를 수정하여 신규 아이디를 추천하면 됩니다. 단계new_id의 모든 대문자를 대응되는 소문자로 치환합니다. new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다.  new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다.new_id에서 마침표(..
[프로그래머스] Lv.1 K번째수 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하세요. 풀이 방법간단한 구현문제 입니다.시키는대로 배열을 자르고 정렬해서 원하는 위치의 숫자를 구하면 됩니다.풀이 코드#include #include #include using namespace std;vector solution(vector array, vector> commands) { vector answer; for(int i=0; ..
[프로그래머스] Lv.2 타겟 넘버 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 주어진 배열 numbers에서 순서를 유지한 채로 각 숫자를 더하거나 빼서 목표 값 target을 만드는 방법의 수를 구하는 문제입니다. 예를 들어, [1, 1, 1, 1, 1] 배열로 목표 값 3을 만들기 위해 다음 5가지 경우가 가능합니다:-1+1+1+1+1=3+1-1+1+1+1=3+1+1-1+1+1=3+1+1+1-1+1=3+1+1+1+1-1=3 풀이 방법DFS를 사용하여 문제를 해결했습니다.배열의 각 원소에 대해 +와 -로 나뉘는 모든 경..
[프로그래머스] Lv.2 전화번호 목록 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/42577# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 전화번호부에 저장된 전화번호 중, 한 번호가 다른 번호의 접두어로 포함되어 있는지를 확인하는 문제입니다.예를 들어, 전화번호 목록 ["119", "97674223", "1195524421"]에서 119는 1195524421의 접두어이므로 false입니다.반면, 접두어 관계가 없는 목록 ["123", "456", "789"]에서는 결과가 true가 됩니다. 풀이 방법알고리즘 고득점 Kit Hash에 있는 문제라 Hash 자료구조를 사용할까 고민..
[프로그래머스] Lv.1 완주하지 못한 선수 c++
·
Algorithm/Programmers
vnfhttps://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 마라톤에 참가한 선수 중 한 명이 완주하지 못했습니다.완주를 하지 못한 한명을 찾아야 합니다.  조건동명이인이 있을 수 있습니다.풀이 방법이 문제는 hashmap을 활용하여 해결했습니다.먼저, completion의 길이만큼 for문을 돌면서 참가자와 완주자의 이름을 hashmap에 기록했습니다. 참가자의 이름은 ++ 연산을, 완주자의 이름은 -- 연산을 해줬습니다. 이렇게 하면 동일한 이름이 여러 번 등장하더라도 카운트를 정확히 관리할 수..
[프로그래머스] Lv.1 최소직사각형 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=cpp 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 다양한 크기의 명함을 모두 수납할 수 있는 최소 크기의 지갑을 만들어야 합니다.명함은 가로와 세로를 자유롭게 회전할 수 있습니다.모든 명함을 수납하려면 지갑의 가로 길이는 명함 중 가로와 세로 중 큰 값의 최댓값이 되어야 하고, 지갑의 세로 길이는 작은 값의 최댓값이 되어야 합니다.최소 지갑 크기는 가로 최댓값 × 세로 최댓값으로 계산됩니다. 풀이 방법이 문제는 완전탐색으로 해결할 수 있습니다.명함은 가로와 세로를 자유롭..