[프로그래머스]/lv.3

https://school.programmers.co.kr/learn/courses/30/lessons/81303 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  #문제 간단 정리 각 삭제된 상태를 기록하고 인덱스 조회하는 문제 #문제 해결 방법 가장 쉽게 생각할만 한 것은삭제됫는지 안 삭제됫는지 표기하기 위해서배열로 표시하는 것이다. 이전에 삭제된 항목은 스택에 기록해두는것. 그런데 이렇게 풀게되면 삭제된 항목을 넘어서 그 다음항목을 검색해야 되기 때문에효율성 테스트에서 실패가 뜨게 된다. 때문에 삭제된 항목을 건너 뛸 수 있게다른 자료구조를 사용해야 되는..
#문제 해결 방법 우선, 이름의 배열 크기가 8이기 때문에 각자 이름끼리 맞는지 확인까지 해도완전탐색으로 풀 수 있다는 걸 쉽게 알 수 있다. 때문에 설계를 하자면1. 이름끼리 비교하는 함수를 만든다2. 이걸 전체 순회하는 dfs 함수를 만든다 라는 설계가 가능하다  우선 이름이 맞는지 확인하는 함수는  bool nameCmp(string user, string banned){ if(user.length() != banned.length()){ return false; }else{ for(int i=0; i 로 쉽게 만들 수가 있다.길이가 다르거나*이 아닌다 문자가 다른경우에 false 를 리턴한다  이제 dfs 함수를 만들어야 되는데 이부분이 조금 고민이 된다..
#문제 간단 정리 브루트 포스로는 시간초과와 효율성으로 엉망일게 보이니투 포인터/슬라이딩 윈도우를 활용하자  #문제 해결 방법 우선 사실 구간을 [1,3] [2,4] 이런식으로 출력 하라는 것 자체가어쩌면 투 포인터 사용에 대한 힌트일지도 모른다. 1.우선 전체 보석의 종류의 개수를 센 뒤에.2. 투 포인터를 사용한다 만약 현재 보석의 모든 개수를 포함한다면 left를 증가시키고 보석의 종류가 부족하다면 right 를 증가시키면 된다. 2-1  여기서 보석종류에 따른 개수를map 으로 기록해주는데만약 left가 한칸 올라가서 map에 있는 보석종류의 개수가 0이되었다면전체 보석의 개수를 기록하고 있는 변수를 (currenTypes)를 -1 해주면된다 반대로 right 한칸 올라가서 보석종류의 개수가 0개..
https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  #문제 간단 정리 플로이드 워셜을 사용  #문제 해결 방법 기본적으로 플로이드 워셜을 사용한다.플로이드-워셜 알고리즘을 잘 모른다면 https://namu.wiki/w/%ED%94%8C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%9B%8C%EC%85%9C%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 플로이드-워셜 알고리즘플로이드-워셜 알고리즘 (Floyd-War..
https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  #문제 간단 정리bfs를 활용해서 거리 측정 #문제 해결 방법bfs를 활용해서 가장 먼 노드의 개수를 측정해 주면 된다양방향 노드기 때문에 양방향 설정에 주의하도록 하자그 이외에는 딱히 기본 bfs 기 때문에 주의할 건 없다. #전체 코드#include #include #include #include #include #include using namespace std;int solution(int ..
코딩테스트 연습 - 단속카메라 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  #문제 간단 정리그리디 문제기 때문에구현보다 발상이 더 어렵다 #문제 해결 방법우선 무조건 단속 카메라의 끝나는 지점으로 정렬해서다음에 오는 시작지점이 현재 끝나는 지점에 바깥에 있다면 단속 카메라가 하나 더 필요한거기 때문에  단속카메라 개수를 1개 늘리고마지막 지점 변수를 업데이트 해준다, 마지막 지점으로 체크한다는 발상이 어려운데이 힌트를각 구간을 전부 저장하는건 비효율적이고 너무 구현이 어렵기 때문에더 좋은 방향을 자..
https://school.programmers.co.kr/learn/courses/30/lessons/42579#qna 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr #문제 간단 정리해시를 조금 더 복잡하게 사용하는 문제#문제 해결 방법일단 문제 설명이 복잡해서 조금 헷갈릴 수 있는데, 정리하자면가장 높은 조회수를 기록한 장르의  조회수가 가장 높은 1,2번 곡들을 차례대로 수록하는것이다 이걸 구현하기 위해서 우선map 으로 장르별로 조회수를 취합하고이걸 vector 로 복사해 정렬해서 장르별 순위를 알아낸다. 이 장르별 순위대로 주어진 곡들 벡터를 순회하..
https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #문제 간단 정리 2차원 배열을 이용하여 자물쇠와 키를 대조하여 정답을 찾자. 다만 키가 자물쇠의 영역을 벗어나는 것이 주목 포인트다 #문제 해결 방법 일단 대략적인 내용은 문제를 읽어서 이해했다고 치고 큰 문제 해결의 맥락을 잡으면 1. 키와 자물쇠를 2차원 배열을 이용해서 표시한다. 2. 그렇게 받은 키의 회전 함수를 구현한다. (하나씩 대조하면서 좌표가 어떻게 변하는지 확인하자) 3. 키를 ..
경우42
'[프로그래머스]/lv.3' 카테고리의 글 목록