profile
안녕하세요. 전자공학부 학부생의 공부 기록입니다.
post-thumbnail

[C++ 알고리즘] 순열, 조합, split(), 중복제거, 구간합

오름차순 순열로 원본을 조작모든 순열을 탐색하니, 시간복잡도는 내부로직 고려 x시 O(n!) 이다.사용자가 직접 정의해서 구현한다대부분의 연산이 if (b.size() == n) {...} 에서 발생한다. 해당 부분이 메인 로직이고, 시간복잡도는내부로직 고려 x시 O(

약 18시간 전
·
0개의 댓글
·
post-thumbnail

[백준] 15686 치킨배달, 완전탐색

완전탐색으로(프루닝 없이도 시간 통과 가능) 최소 치킨 거리를 찾는 문제이다. 도시에 있는 치킨집 중에서 최대 M개 고르라는데, 당연히 M-1개보다는 M개를 골랐을때 치킨 거리가 더 적은 경우의수가 존재한다. 따라서 치킨집은 M개를 골라야한다. 모든 문제는 처음에 완

4일 전
·
0개의 댓글
·
post-thumbnail

[백준] 완점탐색, 백트래킹

모든 경우의 수를 탐색하는 알고리즘으로, (순열 OR 조합) + 로직 으로 구현한다전체 경우의 수를 다 검사해봐도 연산량 고려했을때 시간 제한을 통과하는 경우for문 또는 반복문을 이용해 주어진 범위를 모두 검사하는 방법반복문으로 완전 탐색 구현이 가능하면, 재귀말고

4일 전
·
0개의 댓글
·
post-thumbnail

[백준] 17298, 오큰수, Stack을 이용한 짝짓기 유형

#인증 [날짜] 2026-03-19 이름: 정재윤 문제: https://www.acmicpc.net/problem/17298 제출번호: 104074619 문제 및 풀이 요약: 오른쪽에 위치한 수 중 처음으로 만나는 큰 수를 출력해야한다. 각 수마다 대응되는 오큰수

5일 전
·
0개의 댓글
·
post-thumbnail

[백준] 1086, DFS로 트리 순회해서 특정 노드 삭제처리하고 리프 노드 찾기

Tree에서 특정 노드를 삭제했을때 리프 노드의 개수를 구하는 문제이다.DFS를 통해 트리 순회가 가능하므로, 루트 노드에서부터 시작해서 트리를 순회한며, 삭제하는 노드를 만나면 인접 리스트 순회 과정에서 continue로 무시해주면 된다.이게 기본적인 컨셉이고,,구

7일 전
·
0개의 댓글
·
post-thumbnail

[백준] 2636, 치즈 ,DFS로 테두리 제거하

DFS를 이용해 테두리를 제거하는 문제이다.(1) 가장 바깥쪽은 전부 치즈가 존재할 수 없는 영역이라는 조건은 왜 주어졌을까 ?이 문제에서 특이한점은 가장 바깥쪽은 전부 치즈가 존재할 수 없는 영역이라는 것이다.왜 이런 조건을 주었을까? 이 조건 덕분에 우리는 어디서

2026년 3월 16일
·
0개의 댓글
·
post-thumbnail

[백준] 14502 연구소, DFS, 조합으로 벽 세우기

이 문제는 3가지 단계로 풀면된다(1) 벽을 3개 세우기(2) DFS 나 BFS로 바이러스 퍼뜨리기(3) 안전영역 카운트하기N,M이 모두 최대 8이다. 그렇기때문에 최악의 경우, 공간은 최대 64개이다.64C3으로 조합을 통해 벽을 세우면 -> 21504번 반복(이때

2026년 3월 14일
·
0개의 댓글
·
post-thumbnail

[백준] 4949, 균형잡힌 세상

괄호 검사 문제인데 종류가 2개이다.괄호가 아니라면 무시하고, 괄호인 경우에 대해서만 처리해주면된다.조건문을 치밀하게 설계하지않아서 빈틈이 생겼고, 거기서 오류가 발생했다. 그냥 단순하게위와 같이 모든 경우의 수에 대해 (마치 switch문 처럼) 조건문을 작성하는 방

2026년 3월 14일
·
0개의 댓글
·
post-thumbnail

[백준] 9012, 괄호 검사

괄호 검사는 대표적인 stack을 활용해서 풀이하는 문제이다.(는 stack에 저장해두고 )를 만나면 stack이 비어있지 않은 경우(=stack에 (가 존재하는 경우) pop() 해주면된다.그렇게해서 최종 stack이 비어있으면 올바른 괄호이고, stack이 비어있

2026년 3월 14일
·
0개의 댓글
·

[백준] 1436, 영화감독 숌, 범위 기반으로 무식하게 풀기

업로드중..업로드중..이 문제는 666이 들어가는 수 중에서 n 번째로 작은 수를 찾는 문제이다.처음에 조합,순열 이런 느낌으로도 풀어보려했으나, 잘 떠오르지 않았다.이 문제를 잘보면 N<=10000 이다. 따라서 내가 찾는 수는 아무리 커도 6660000 안에서

2026년 3월 14일
·
0개의 댓글
·

[백준] 2852, scanf 출력 문자열 포맷팅, 시간 계

업로드중..업로드중..1팀 VS 2팀 경기의 득점 정보를 입력받고, 이를 기반으로 각 팀이 몇분, 몇초 동안 승리를 유지하고 있었는지를 출력하는 문제이다.이 문제의 포인트는 3가지이다.(1) scnaf()로 시간, 분 나누어 입력받기(2) 분:초 형식의 시간 계산시 분

2026년 3월 14일
·
0개의 댓글
·
post-thumbnail

[백준] 3474, 팩토리얼이 0을 몇개 가지는지 구하기

팩토리얼 문제는 수가 기하급수적으로 커지기때문에 항상 자료형, 입력 범위를 잘 봐줘야한다.이 문제는 팩토리얼 문제인데, 심지어 입력도 <= 10억 조건이 걸려있다.O(logN)의 알고리즘만 사용이 가능하다.N!이 약수로 10을 몇개 가지는지 찾으면 N!뒤에 0이

2026년 3월 13일
·
0개의 댓글
·

[백준] 2870, 구현, 사용자 정의 비교함수 cmp, 반례 생각하기, 범위 확인, 문자열 대소 비교

구현 문제이다. n줄에 걸쳐 소문자+숫자를 입력받고 그중에 숫자만 추출(앞에 붙은 0은 생략)해서 비내림차순으로 출력하는 문제이다. 처음에 그냥 "걍 대충 아스키코드 비교로 숫자 추출하고 순회하면서 0제거 해서 벡터에 넣어서 sort()조지면 돼지않을까?" 하고

2026년 3월 12일
·
0개의 댓글
·
post-thumbnail

[FREERTOS] 3. 자주 사용하는 API (추가 예정)

CubeMX의 MAX_PRIORITEIS 설정을 통해 사용할 Task 우선순위의 범위를 설정할 수 있다.pvTaskCode : Task 함수pcName : Task 함수의 이름usStackDepth : Stack에 넣을 수 있는 word(4Byte) 단위 데이터 개수p

2026년 3월 12일
·
0개의 댓글
·
post-thumbnail

[백준] 4659, 비밀번호 발음하기 ,구현

구현문제이다. 모음인지 자음인지를 확인하는 함수 isvowel()을 정의해놓고 main에서 모음,자음 구분 필요할때마다 호출해서 확인한다.중요한것은..모음은 {a,e,i,o,u}로만 이루어져있고, 입력도 모음은 {a,e,i,o,u} 중에서만 나온다는 것이다.(나는 모

2026년 3월 11일
·
0개의 댓글
·
post-thumbnail

[백준] 2910, 사용자 정의 비교함수 cmp를 이용한 정렬

map과 vector를 효율적으로 잘 쓰고 sort() 사용시 사용자 정의 비교함수 cmp로 비교를 진행하는 문제이다.수의 등장 횟수를 세야하므로 카운팅 배열을 사용하면된다.그러나 공간제한이 128mb로 int cnt100000000 하면 약 4억 바이트 쓰게되고, 공

2026년 3월 10일
·
0개의 댓글
·
post-thumbnail

[백준] 1992, 분할정복 (Divide and Conquer)

업로드중..'주어진 입력을 가지고 어떻게 출력이 도출되냐?'를 생각해봤을때 -> 만약 탐색범위내에 다른 값이 발견되면 시작점이 바뀌고 탐색 범위가 줄어들며 동일한 로직을 반복한다 -> 분할 정복 유형으로, 재귀함수나 stack을 이용해서 풀이한다 -> 나는 매개변수를

2026년 3월 10일
·
0개의 댓글
·

[백준] 2178, 미로탐색, BFS기반 최단거리 찾기 알고리즘

맵을 탐색하며 최단 거리를 찾는 문제이다. 이차원 배열로 그래프를 구현한다. 그래프의 가중치가 전부 동일하므로 BFS를 활용해 최단거리를 찾으면된다. 1. 풀이 중요한 것은 (1) queue 에 2차원 좌표 저장을 위해 pair를 넣어야한다는 것 (2) any

2026년 3월 10일
·
0개의 댓글
·
post-thumbnail

[백준] 2583, DFS, 연결된 컴포넌트 개수 세기, 탐색한 영역 넓이 구하기

DFS를 이용하고, 전역변수 tmp를 이용하여 연결된 컴포넌트의 넓이를 구하는 코드이다.DFS를 이용하고, 전역변수 tmp없이 재귀를 이용하여 연결된 컴포넌트의 넓이를 구하는 코드이다.재귀를 이용해서 매번 호출마다 함수의 지역 변수에 1씩 더해주는 것이 인상적이었다.

2026년 3월 9일
·
0개의 댓글
·

코테 문제 풀이 팁 : 반례 찾기, 변수 통일

최소, 최대 그리고 있거나/없는 경우 코드가 동작하지 않는 반례가 있는지 잘 따져봐야한다.ret : 결과 저장ny : 다음 y 좌표nx : 다음 x 좌표cnt : 카운팅 배열 or 카운팅할때이런식으로 변수명을 통일해놔야 실수할 확률이 적어진다.

2026년 3월 9일
·
0개의 댓글
·