| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 시뮬레이션
- 이런게4문제
- 2018
- 삼성SW역량테스트
- Map
- BFS
- dfs
- 모의SW역량테스트
- 백트래킹
- find
- 코딩테스트
- 레벨2
- 문자열
- 코딩스킬
- dp
- STL
- C++
- priority_queue
- 삼성
- 백준
- Sort
- swea
- Set
- 레벨3
- 삼성SW테스트
- 완전탐색
- KAKAO
- 브루트포스
- 프로그래머스
- substr
- Today
- Total
목록2020/02 (38)
-
문자열과 을 능숙하게 다루면 쉽게 해결할 수 있는 문제다. 먼저 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 서로 분리된 그래프의 개수를 찾는 문제다. 양방향 간선으로 연결된 그래프들..
C++로 코딩 테스트를 준비하다보면 문자열에 대한 공부를 하게 된다. 이전에 compare, substr, replace, swap, find 함수에 대해 다룬 글 (https://cpp-dev.tistory.com/56?category=852537) 이 있다면, 오늘은 공백을 포함한 문자열이 주어졌을 때, 공백을 제외한 문자열들을 추리는 코드를 살펴보고자 한다. 심심치않게 이런 기능이 코딩테스트에서 활용되므로 여기에 정리해둔다. 예시를 위해 C++ STL 을 활용해봤다. 먼저 을 추가하고 stringstream에 분석하고자 하는 문자열을 22줄과 같이 넣는다. 그리고 문자열 변수에 while을 돌며 엔터를 만날때까지 공백을 제외한 문자열을 차례로 넣어주면 된다. 해당 부분은 22~28줄이다. 29~35..
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 문제다. 현재 인덱스의 숫자를 더한 것의 재귀와 현재 인..
https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 | 프로그래머스 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 빨간색으로 칠해져 있고 모서리는 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 빨간색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 빨간색 격자의 수 red가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수 programmers.co.kr 프로그래머스 완전탐색 문제다. DFS나 BFS, 비트마스킹, next_perm..