본문 바로가기
반응형

전체 글154

[프로그래머스 뒤에 있는 큰 수 찾기] c++ (코드, 풀이, 스택) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/154539# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이,코드 첫풀이는 당연히 무조건 타임아웃이 날거라고 생각했습니다. 이게 타임아웃이 안난다면 진짜 그냥 level0이 아닐까 싶은 코드였습니다. 그래도 한번 테스트를 위해 진행해봣습니다. 타임아웃 코드 /* number배열 자신보다 뒤에보다 크면서 가장 가까이 있는 수 -> 뒷큰수 뒷큰수 없음 -> -1 */ #include #include using namespace std;.. 2023. 6. 2.
[프로그래머스 파일명정렬] c++ (풀이,코드,카카오3차코테) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 사실 이 문제는 이제 점점 문자열 처리에 대해서 한번더 근접하는 시간이 되지 않았나 싶습니다. 사실 두개 정도를 비교할때는 이중벡터나 pair를 사용해서 하려 했지만 갑자기 구조체가 떠올랐습니다. 이럴때 구조체 쓰라는거 아닐까 합니다. 1. 일단 모든것을 나눠서 구조체 head, number,tail, index(index는 head,number가 다 동일한 경우) .. 2023. 6. 1.
[프로그래머스 스킬트리] c++ (풀이,코드, map) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/49993#fnref1 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드, 풀이 이 문제는 map을 통해서 간단하게 풀 수 있다고 생각합니다. 물론 vector에 push_back을 하면서 진행을 해도 괜찮다고 생각을 합니다. 최근에 map을 많이 사용하고 있어서 map으로 풀이를 진행하였습니다. 1. skill에 대한 인덱스를 넣어줍니다. (향후 비교를 위해) 2. 반복문을 돌면서 같은 idx가 나온다면 idx를 ++ 해줍니다 (1번.. 2023. 5. 24.
[프로그래머스 게임 맵 최단거리] c++ (코드,풀이, bfs) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 이 문제는 최단거리를 구하는 문제이므로 bfs를 채택하였습니다. 보통 최단,최소 라는 키워드를 그림판과 같은 형태 혹은 간선과 노드 같은 문제에서 BFS를 대표적으로 사용하는 것 같습니다. 게임 맵 안에 있는 유효한 새로운 y,x좌표라면 visited[새로운 y좌표][새로운 x좌표] = visited[원래 y좌표][원래 x좌표] + 1 을 진행한 후 가장 먼저 ny =.. 2023. 5. 24.
[프로그래머스 방문 길이] c++ (풀이, 코드) 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 모든것에 대해서 순차적으로 방문을 하게 되면서 겹치치 않은 것에 대해서 갯수를 카운팅 하면 되는 문제입니다. 여기서 주의 해야할 점은 오른쪽에서 왼쪽으로 가는 상황 (0,0) -> (0,-1)에서 왼쪽에서 오른쪽으로 갈때에 대해서 오른쪽에서 왼쪽으로도 왔는지에(0,-1) -> (0,0) 대해서도 체크를 해줘야 합니다. 이 부분을 처음 놓치고 해매버리면서 8번 테스트 케.. 2023. 5. 24.
[프로그래머스 정수삼각형] c++ (풀이, 코드, level3) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 누가 봐도 문제는 dp라고 생각합니다. level3라서 살짝 어렵지 않을까 했는데 프로그래머스의 level은 정말 무의미한게 아닐까 싶기도 합니다.. (level1에서도 하루종일 헤맸던 기억..) 이런 문제류들이 거꾸로 아래부터 위로 더하는 것이 편하다고 생각합니다. 하지만 저는 조금 다른 방법으로 접근해서 triangle[i]의 원소들을 접근할때 triangle[i.. 2023. 5. 22.
[프로그래머스 땅따먹기] c++ (풀이 ,코드 , 개념) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드, 풀이 문제는 간단하다. 그냥 합을 더하는데 열이 일치하지만 않는것중에 가장 최댓값!! 을 더해주기만 하면 됩니다. #include #include #include #include using namespace std; int solution(vector land) { int answer = 0; int arr[4] ={0,}; if(land.size() == 1){ retur.. 2023. 5. 22.
[프로그래머스 주식가격] c++ (코드, 풀이) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 간단하게 시점을 기준으로 그 값이 떨어지지 않는 기간을 return을 하는 방식으로 진행하였습니다. 물론 find를 이용해서 시간을 줄일 수도 있다고 생각하지만 가끔은 이렇게 간단하게 진행하였습니다. #include #include using namespace std; vector solution(vector prices) { vector answer; for(int i=0;i 2023. 5. 21.
[프로그래머스 오픈채팅방] c++ (풀이, 코드, 개념) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 이 문제에서 구분을 해야하는 것은 Change에 집중을 해서 하면 되는 문자열 처리 문제였습니다. 1. 만약 입장하였을때 혹은 이름을 바꾸었을때에 대해서 map 를 갱신해주는 형태로 진행하였습니다. 2. 입장혹은 나갈때 stateUser에 push_back을 해주었습니다. (1은 입장, 0은 퇴장) 3. stateUser를 돌게 되면서 입장을 하였는지 퇴장을 하였는지.. 2023. 5. 21.
[프로그래머스 주차 요금 계산] c++ (풀이, 코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 아직 프로그래머스를 많은 문제를 풀지는 않았습니다. 40~50문제 푼 문제중에서 가장 어려웠다고 생각합니다. 어려웠던 기준은 입출차를 여러번 한다는 점도 생각을 해야한다는 점에 대해서 생각을 하느라 골머리를 썩지 않았나 생각합니다. 풀이법 우선 시간을 환산시켜줄 calc_time(분으로) 함수와 가격을 올림해서 계산해주는 calc_cost함수를 만들었습니다. 원래같으.. 2023. 5. 21.
42서울을 마치며 회고록(라피신, 본과정 후기) 그만두기로 마음 먹은지는 한달정도 시간이 지났지만 내일이 마침 블랙홀이라 42서울을 여태 했던 것에 대해서 회고해보고자 글을 작성해 봅니다. 42서울 이란? 42서울은 특별한 교수진이나 강의 형식이 없는 대신, 학생들에게 프로젝트 기반의 학습을 제공합니다. 학생들은 주어진 프로젝트를 스스로 해결하고 협업하여 문제를 해결하며, 동료 학생들과의 상호 작용과 피드백을 통해 성장합니다. 또한, 학생들은 평가와 피드백 시스템을 통해 서로의 작업을 평가하고 학습에 대한 피드백을 주고 받습니다. 라는 chatgpt의 말인데 결국 동료학습을 기반으로 탄탄한 CS위주의 공부를 하여 기반있는 개발자가 된다는 것입니다. 라피신 라피신의 선발기준을 아직 확실하게 모르지만 많은 이들과 종합적인 고려를 해보았지만 결국 파이널 E.. 2023. 5. 20.
[프로그래머스 더맵게] c++ (풀이,코드, 효율성 해결 과정) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제풀이 및 코드오류 코드 및 수정 내용 /* 스코빌 지수를 k이상 만듬 가장 맵지 x + (두번째 맵지x *2) -> k이상까지 k는 10억 이하 -> int가능 k이상 만들수 없을때 -1리턴 */ #include #include #include using namespace std; int solution(vector scoville, int K) { int answer = 0; int s.. 2023. 5. 19.
[프로그래머스 n진수 게임] c++ (풀이법, 코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 진법 변환에 대해서만 생각을 한다면 굉장히 쉬운 문제였다고 생각합니다. 포인트는 string arithmetic = "0123456789ABCDEF"를 이용하여 결국 2진법이면 01 3진법이면 012 .... 16진법이면 모든 airthmetic을 사용한다는 것을 기억해두고 문제풀이를 진행하였습니다. n진법, 구할 숫자의 갯수t, 참가하는 인원m,튜브의 순서 p 1번.. 2023. 5. 19.
[프로그머스 압축] c++ (풀이 및 코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 문제를 잘못 생각해서 너무 꼬아서 생각을 해 시간이 꽤 오래 걸렸던 문제입니다. (사실 굉장히 쉽다고 생각합니다.) 처음 A~Z까지의 문자들을 map에 먼저 insert를 해줍니다 (1부터 26까지) map을 사용하여 찾는것이 존재하지 않을때에 대해서 map에 insert를 해주고 현재 입력에 대해서 answer에 push_back을 진행해주었습니다. /* 압축 그냥.. 2023. 5. 19.
[프로그래머스 k진수에서 소수 개수 구하기] c++ (풀이법,코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 저는 이 문제를 조금 다른 방법으로 접근하였습니다. 문제에서의 0p혹은 p0 혹은 0p0 혹은 p라는 숫자들을 보고 통일성 있게 설정을 해줄 수 있지 않을까? 라는 생각을 먼저하였습니다. 그래서 처음 숫자를 k진법으로 변환을 한 후에 vector v에 담아 줬습니다. v에서 맨앞과 맨 뒤에 0을 넣게 된다면 통일성 있게 무조건 0p0이 될수 밖에 없다는 것을 착안해서.. 2023. 5. 19.
[프로그래머스 전화번호 목록] c++ (코드, 풀이, 개념) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 사실 이 문제는 예전에 알고리즘을 한창 풀때 풀었던 문제입니다. 근데 코드를 보니 지금의 저보다 훨씬은 몇수 위라는것을 느끼네요.. substr을 생각도 안했는데 그때의 저는 사용을 했다니 굉장히 놀라웠습니다.. (아마 42서울에서 사용해서 그럴지도..?!) sort를 이용하게 되면 데이터 타입이 string이라 사전순으로 정렬이 됩니다. 사전순으로 정렬을 했기 때문.. 2023. 5. 17.
[프로그래머스 타겟넘버] c++ (코드, 풀이, 개념) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 +이냐 -이냐에 따라서 모든 것을 기억을 하면 되는 문제로 dfs를 돌게 되면서 이제 모든 numbers의 인덱스를 돌게 됨녀서 target과 더하거나 뺀 숫자의 합이 같나면 answer을 +1 을 하는 식으로 코드를 진행하였습니다. #include #include using namespace std; int answer=0; void dfs(vector number.. 2023. 5. 17.
[프로그래머스 피로도] c++ (문제풀이, 개념, 코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 dfs를 이용하여 문제를 풀었습니다. dfs를 이용하여 풀었는데 그것이 만약 유저가 탐험할 수 있는 최대의 던전의 수 보다 크다면 갱신을 하는 형태로 진행하였습니다. /* 일정 피로도를 사용해서 최소 필요 피로도 소모 피로도 dungeons -> 최소필요 피로도, 소모 피로도 k - > 현재 피로도 던전의 개수 1이상 8이하 */ #include #include us.. 2023. 5. 17.
[프로그래머스 할인행사] c++ (코드 및 풀이) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 (+ 수정 과정) 수정 과정 (오류(초과) 코드) /* 할인행사 10일 동안 일정 금액 지불 -> 회원자격 부여 결국 회원을 등록할 수 있는 날짜를 다 ++하면 되는거지. map을 사용하면 편하게 풀 수 있지 않을까? 또한 number의 원소의 합은 무조건 10으로 제한되어있다. */ #include #include #include using namespace st.. 2023. 5. 15.
[프로그래머스 뉴스 클러스터링, 2018 카카오] c++ (풀이 및 코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 /* 대문자와 소문자의 차이는 무시한다 -> 올 소문자로 문자가 아니라면 문자 두개의 쌍은 취급하지 않음 (공백 포함) 근데 지우면 되는게 아님 그냥 취급을 안하는거지 체크를 할때 만약 소문자가 아니라면 -> 없앤다. 이런 느낌으로 map에다가 있다면 넣고 아니라면 지우고 이러면 되지 않을까? */ 라는 생각으로 진행을 하였습니다. 맵을 사용했는데 처음 문자열을 비교.. 2023. 5. 15.
[프로그래머스 프로세스] c++ (풀이, 코드) 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 및 풀이 프로세스 실행 대기 큐에서 대기중인 프로세스를 하나 꺼냄 우선순위가 더 높은 프로세스를 꺼내고 방금 꺼낸것을 다시 집어 넣음 큐라는걸 사용하면 아주 간단할 수 있다고 생각합니다. 큐를 이용해 pair를 통해 우선순위, 위치(인덱스) 를 넣게 된다면 편하게 진행한다고 생각합니다. 또한 저는 arr[10]을 활용해서 숫자의 갯수를 arr[priorities[i]]++을 .. 2023. 5. 14.
반응형