일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로그래머스
- 레벨2
- 시뮬레이션
- 백트래킹
- 레벨3
- STL
- KAKAO
- 2018
- 브루트포스
- dp
- dfs
- 완전탐색
- BFS
- swea
- C++
- 이런게4문제
- substr
- 백준
- 코딩스킬
- Sort
- 모의SW역량테스트
- Map
- 삼성
- Set
- 삼성SW테스트
- priority_queue
- 문자열
- 코딩테스트
- find
- 삼성SW역량테스트
- Today
- Total
목록1-4. 프로그래머스 (26)
-
https://programmers.co.kr/learn/courses/30/lessons/12905# 코딩테스트 연습 - 가장 큰 정사각형 찾기 | 프로그래머스 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 처음에 for문으로 답을 찾으려 했다가 정확성은 맞았지만 효율성테스트에서 실패한 케이스다. 다시 문제를 분석하고 DP로 더 빠르게 풀 수 있는 것을 알게 된 뒤, 재설계해서 풀었다. 먼저 DP배열에 모두 0을 넣고, board에 1이 담겨있는 곳의 dp값을 1로 초기화 해주었다. 만약 board값을 확인하는 과정에서 1이 발견되지 않으면 0을 반환하고 종료하도록 했다. 그렇지 않은 경우 최소 1의 넓이를 가질 것이므로 answer의 초..
https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 | 프로그래머스 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 카카오 신입 개발자 공채 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 programmers.co.kr 재밌는 문제다. 알파벳으로 이루어진 벡터 두 개에서 교집합..
문자열과 을 능숙하게 다루면 쉽게 해결할 수 있는 문제다. 먼저 answer에 id+"님이 들어왔습니다." 또는 id+"님이 나갔습니다."와 같은 형태로 저장하고, 이름 변경의 경우 (Change나 Enter에 기존 id의 다른 입력으로 입장) map의 해당 key의 value를 바꿔주는 식으로 answer을 저장했다. 참고로 map은 기존에 없는 key값에 대한 대입은 새로운 key,value 쌍의 입력을 하도록 동작하며, 기존에 있는 key값에 대해서는 value의 갱신을 수행해주는 기능이 있다. 이 덕분에 29행/35행과 같이 기존에 있건없건 동일한 코드로 동작시킬 수 있다. 간편한 기능이다. 마지막으로 answer에 uid+안내문의 형식을 다시 M[uid]+안내문의 형식으로 바꿔주면 된다. 1 2..
https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 | 프로그래머스 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr DFS유형의 문제다. 갈 수 있는 경로를 미리 정렬해서 오름차순의 경로를 반환하면 된다. 현재 경로를 저장하고 계속 가보면서 답을 구하면 된다. void형으로 하지 말고 bool 형으로 해서 했더니 segmentation fault가 나질 않았다. 스택 메모리의 크기에 주의해서 이렇게 bool 형으로 구현하는 방식도 연습이 필요하다. * 22번째줄은 삭제해도 전혀 지장..
https://programmers.co.kr/learn/courses/30/lessons/12900 코딩테스트 연습 - 2 x n 타일링 | 프로그래머스 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 예를들어서 n이 7인 직사각형은 다음과 같이 채울 수 있습니다. 직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 s programmers.co.kr 백준에 동일한 문제가 있다. 이 문제는 dp로 풀 수 있는데 n=..
https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 | 프로그래머스 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크 programmers.co.kr 서로 분리된 그래프의 개수를 찾는 문제다. 양방향 간선으로 연결된 그래프들..
https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 | 프로그래머스 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [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 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘 programmers.co.kr 전형적인 DFS 문제다. 현재 인덱스의 숫자를 더한 것의 재귀와 현재 인..