코딩테스트
-
실력진단 [문제] https://www.codetree.ai/training-field/search/problems/at-least-one-number-in-a-specific-section?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai [문제 풀이] 투 포인터를 이용한 문제이다. 문제에서 좌표를 숫자로 주어줬지만 좌표를 숫자가 아니라 index로 생각해보면 투 포인터를 이용해서 쉽게 풀린다는 것을 생각할 수가 있다. 우선 들어오는 값들을 vector vec를 이용해 입력을 받은 뒤..
[코드트리 챌린지] 특정 구간에 최소 하나는 있는 숫자실력진단 [문제] https://www.codetree.ai/training-field/search/problems/at-least-one-number-in-a-specific-section?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai [문제 풀이] 투 포인터를 이용한 문제이다. 문제에서 좌표를 숫자로 주어줬지만 좌표를 숫자가 아니라 index로 생각해보면 투 포인터를 이용해서 쉽게 풀린다는 것을 생각할 수가 있다. 우선 들어오는 값들을 vector vec를 이용해 입력을 받은 뒤..
2023.09.06 -
[문제] 코딩테스트 연습 - 이진 변환 반복하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 해당 문제를 풀기 위해 2가지 함수를 추가로 만들어서 진행을 하였다. 1. 0을 제거하고 제거한 0의 수만큼 추가를 해주는 함수 2. 1로만 이루어진 문자열을 길이의 크기로 바꾼뒤 해당 크기를 이진법으로 나타내는 함수. 1번의 경우 string을 가면서 '1'이 아니면 계속해서 zero 변수에 수를 추가 아니라면 반환값인 answer에 1의 숫자만큼 넣어주었다. 2번의 경우 이진법으로 바꾸기..
[C++] 이진 변환 반복하기[문제] 코딩테스트 연습 - 이진 변환 반복하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 해당 문제를 풀기 위해 2가지 함수를 추가로 만들어서 진행을 하였다. 1. 0을 제거하고 제거한 0의 수만큼 추가를 해주는 함수 2. 1로만 이루어진 문자열을 길이의 크기로 바꾼뒤 해당 크기를 이진법으로 나타내는 함수. 1번의 경우 string을 가면서 '1'이 아니면 계속해서 zero 변수에 수를 추가 아니라면 반환값인 answer에 1의 숫자만큼 넣어주었다. 2번의 경우 이진법으로 바꾸기..
2023.09.05 -
[문제] 17144번: 미세먼지 안녕! (acmicpc.net) 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net [문제 풀이] 시뮬레이션 문제이다. 문제에서 주어진 조건은 크게 1. 먼지를 확산 시켜라. 2. 공기청정기 바람을 이용해서 배열을 돌려라. 의 2가지 조건이다. 지문이 길다고 어려운것이 아니니 1번부터 천천히 해보자. 1번의 조건을 나눠보면 크게 a. 공기청정기로 가면 안된다. b. 범위내에서 이루어져야 한다. c. 독립적으로 영향을 준다. 의 3가지로 나눌 수 있다. a번과 b번은 여태까지 다른 ..
[C++] 미세먼지 안녕![문제] 17144번: 미세먼지 안녕! (acmicpc.net) 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net [문제 풀이] 시뮬레이션 문제이다. 문제에서 주어진 조건은 크게 1. 먼지를 확산 시켜라. 2. 공기청정기 바람을 이용해서 배열을 돌려라. 의 2가지 조건이다. 지문이 길다고 어려운것이 아니니 1번부터 천천히 해보자. 1번의 조건을 나눠보면 크게 a. 공기청정기로 가면 안된다. b. 범위내에서 이루어져야 한다. c. 독립적으로 영향을 준다. 의 3가지로 나눌 수 있다. a번과 b번은 여태까지 다른 ..
2023.09.05 -
[문제] https://www.codetree.ai/problems/connection?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai [문제 풀이] 문제 유형이 BFS로 되어 있지만 DFS를 활용한 백트래킹에 더 가까웠던 문제. visited 배열을 만든 뒤에 방문한 곳의 위치를 1로 바꾸고 백트래킹을 한 후에 다시 0으로 바꾸기만 하면 어렵지 않게 풀 수 있다. [회고] main 함수쪽에서 백트래킹을 돌리는데 자기자신의 방문체크를 안했다가 테스트케이스 6번에서 틀렸었다. 자기 자신..
[코드트리] 연결 관계[문제] https://www.codetree.ai/problems/connection?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai [문제 풀이] 문제 유형이 BFS로 되어 있지만 DFS를 활용한 백트래킹에 더 가까웠던 문제. visited 배열을 만든 뒤에 방문한 곳의 위치를 1로 바꾸고 백트래킹을 한 후에 다시 0으로 바꾸기만 하면 어렵지 않게 풀 수 있다. [회고] main 함수쪽에서 백트래킹을 돌리는데 자기자신의 방문체크를 안했다가 테스트케이스 6번에서 틀렸었다. 자기 자신..
2023.09.04 -
[문제] Softeer Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai [문제 풀이] 중앙값이라 해서 헷갈릴 수 있지만 문제를 천천히 읽어보면 하나도 어려울게 없는 문제이다. 배열에서 3개의 숫자를 골랐을때 지정한 숫자가 3개의 숫자의 중앙값 즉, 최소도 최대도 아닌값이기만 하면 되는 문제이다. 총 몇개가 나올 수 있냐가 해당 문제에 중요 포인트이고 이건 배열을 sort를 이용해 정렬할때 해당값의 앞에 있는 숫자 * 해당 값의 뒤에 있는 숫자가 답이 나온다. 문제에서 n은 5만이고 q는 20만이다. q의 값을 돌릴동안 n을 차례대로 모두 방문하면 시간초과가 나오기 쉽기 때문에 해당 문제를 해결하기 위해서 이진탐색을 응용하자. [회고] 이진탐색을 생각안하고 단순히 방문했..
[C++] 자동차 테스트[문제] Softeer Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai [문제 풀이] 중앙값이라 해서 헷갈릴 수 있지만 문제를 천천히 읽어보면 하나도 어려울게 없는 문제이다. 배열에서 3개의 숫자를 골랐을때 지정한 숫자가 3개의 숫자의 중앙값 즉, 최소도 최대도 아닌값이기만 하면 되는 문제이다. 총 몇개가 나올 수 있냐가 해당 문제에 중요 포인트이고 이건 배열을 sort를 이용해 정렬할때 해당값의 앞에 있는 숫자 * 해당 값의 뒤에 있는 숫자가 답이 나온다. 문제에서 n은 5만이고 q는 20만이다. q의 값을 돌릴동안 n을 차례대로 모두 방문하면 시간초과가 나오기 쉽기 때문에 해당 문제를 해결하기 위해서 이진탐색을 응용하자. [회고] 이진탐색을 생각안하고 단순히 방문했..
2023.08.25 -
[문제] Softeer Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai [문제 풀이] 백트래킹을 이용해서 순서대로 방문하는것을 확인하는 문제이다. 처음 고민했던 부분은 bfs에서는 방문한 순간 모두 방문처리를 하는데 해당 문제에서 방문처리를 어떻게 하냐가 고민이었다. 그래서 앞서 말한 백트래킹을 이용해서 visited 처리를 할 수 있었다. void backTrack(int x, int y, int idx){ if(idx == m){ answer++; return; } for(int i = 0;i 백트래킹 -> 방문확인 풀기 순서가 되게 함수를 만들었다. 이제 여기에 추가로 idx 변수와 seq 벡터를 이용해서 순서대로 방문을 하는지를 확인만 해주면 된다. 오랜만에 백..
[C++] 순서대로 방문하기[문제] Softeer Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai [문제 풀이] 백트래킹을 이용해서 순서대로 방문하는것을 확인하는 문제이다. 처음 고민했던 부분은 bfs에서는 방문한 순간 모두 방문처리를 하는데 해당 문제에서 방문처리를 어떻게 하냐가 고민이었다. 그래서 앞서 말한 백트래킹을 이용해서 visited 처리를 할 수 있었다. void backTrack(int x, int y, int idx){ if(idx == m){ answer++; return; } for(int i = 0;i 백트래킹 -> 방문확인 풀기 순서가 되게 함수를 만들었다. 이제 여기에 추가로 idx 변수와 seq 벡터를 이용해서 순서대로 방문을 하는지를 확인만 해주면 된다. 오랜만에 백..
2023.08.25