일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 멀티스레드
- C++
- c#
- MemoryBarrier
- React
- 프론트엔드 스쿨
- 메모리 배리어
- map
- 코딩테스트
- 구조체
- 제로베이스
- socket
- 완전탐색
- 제로베이스 프론트엔드 스쿨
- 프로그래머스
- leetcode
- 서버
- 문자열&연산자
- 구현
- Algorithm
- dfs
- BFS
- Server
- 자바스크립트
- 백준
- N과 M(2)
- 백트래킹
- 코딩테스트 스터디
- JavaScript
- 알고리즘
- Today
- Total
목록map (5)
Written
https://school.programmers.co.kr/learn/courses/30/lessons/42888?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제를 풀면서 stringstream에 대해서 공부 해 볼 수 있어서 좋았습니다. 기존에는 문자열을 파싱하려고 할 때, 보통 파싱의 기준이 되는 문자에서 if문 처리를 하거나, 마지막 인덱스에서 분기처리를 하는 방식으로 문제를 풀곤 했었는데 이 문제를 기존에 제가 풀던 방식대로 하면서 풀리지를 않아 인터넷에 올라와있는 풀이를 참고하면서 sstream헤더파일을 사용하는 문..
https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 끝까지 읽고나면 규칙이 하나 보이게 됩니다. 제일 앞에 위치하는 숫자가 튜플의 size만큼 등장하고 그 뒤로는 한번씩 덜나옵니다. 즉 만약 [2,1,4,3]이 정답이라면 2가 4번 1이 3번 4가 2번 3이 1번 등장하는 구조입니다. 이렇게 어떤 숫자가 몇번 등장하는지를 체크하기에 가장 좋은 자료구조는 map이기 때문에, map을 사용하면 쉽게 풀 수 있습니다. map로 map을 하나 생성..
discount의 구간을 앞에서 부터 10개씩 잘라가면서 각 구간에서 내가 사려고 하는 물품들을 전부 살수 있으면 카운트를 하나씩 늘려주는게 가장 먼저 떠오른 풀이방법이었습니다. 완전탐색의 방식이기 때문에 시간복잡도를 반드시 확인 해봐야죠. 만약 입력값이 크다면 완전탐색이 아닌 다른 방식의 풀이로 풀라는 의미입니다. 이 문제는 최대 입력값이 100,000이고 각 구간마다 10번씩 탐색하기에 시간초과에는 걸리지 않을거라 판단하고 완전탐색으로 돌렸습니다. 내가 사려고 하는 물품들에 대한 정보는 map로 저장해두고 하나씩 줄이면서 모든 탐색이 끝나고 사려고하는 모든 물품의 갯수가 0보다 작거나 같으면 카운트를 ++해줬습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19..
문제 해결을 위해선 결국 앞에서 부터 topping배열의 끝까지 모든 경우를 다 확인해 봐야 한다고 생각했습니다. 그런데 한번 배열을 자를때마다, 왼쪽 오른쪽 둘다 순회하면서 중복을 제외한 토핑의 가지수를 다 세는 경우에는 시간초과가 날 수 있는 Input 범위입니다( 최대 1,000,000 ). 결국 일일이 다 순회하지 말고 해결하라는 의도가 담겨 있는 문제이지요. 그래서 모든 순회를 하지 않는 선에서 갯수를 셀 수 있는 방법은 사실 map을 사용하는 경우 말고는 떠오르는 것이 없기 때문에 map을 잘 이용할 생각만 떠올린다면 LV2 치고는 쉬운 문제였다고 생각합니다. 아이디어를 떠올리고 나서 코드를 짜는건 5분도 안걸렸습니다. 생각보다 map을 이용해서 해결하는 문제가 많기 때문에 map의 활용은 정..
C++의 컨테이너 중 하나인 map을 알면 쉽게 해결할 수 있는 문제였습니다 ! 체감상 다른 Lv2 문제들 보다는 쉬운 편이었습니다. 따로 함정이 존재하지도 않고 생각한대로 구현해서 바로 맞은 몇 안되는 문제였습니다. map은 key값과 value값을 함께 가질 수 있기 때문에 크기를 key값으로 그리고 그 갯수를 value로 insert 해줍니다. 그러면 map에는 귤의 크기와 그 크기를 가진 갯수가 저장되어있고, 정렬을 위해 vector 컨테이너로 옮겨서 크기별로 내림차순으로 정렬합니다. 그러면 갯수들이 많은 귤의 크기정보순으로 정렬이 되고, 담고자 하는 k에서 맨 앞에서부터 그 크기대로 값을 빼주면서 갯수를 카운팅합니다. 그렇게 0이되거나 0보다 작을때까지 계속 빼주면 서로 다른 종류의 최솟값을 쉽..