알고리즘/백준 문풀
-
문제 내용https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 내용알파벳 순으로 경로 출력 위해 sort함sort한 상태로 dfs 돌며 경로 찾음경로 끝까지 갔을때(다 찾았을때)의 예외처리를 잘못해서 좀 헤맸다.. 짱ㄴㅏ.. 사실 ICN을 첨부터 push 안하고 바로 dfs 돌면서 start를 push해도 되긴하는데문제에서 고정값으로 준 ICN라 그냥 직역해서 풀었다 풀이 코드#include #include #include using namespace std;bool visit[10000+2..
[C++] 프로그래머스 lv3 여행경로 (DFS)문제 내용https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 내용알파벳 순으로 경로 출력 위해 sort함sort한 상태로 dfs 돌며 경로 찾음경로 끝까지 갔을때(다 찾았을때)의 예외처리를 잘못해서 좀 헤맸다.. 짱ㄴㅏ.. 사실 ICN을 첨부터 push 안하고 바로 dfs 돌면서 start를 push해도 되긴하는데문제에서 고정값으로 준 ICN라 그냥 직역해서 풀었다 풀이 코드#include #include #include using namespace std;bool visit[10000+2..
2025.03.03 -
문제프로그래머스 DFS/BFS - 단어 변환https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이단어 변환을 위한 '최소 횟수'를 구하기 위해 bfs 사용 (최단거리와 동일한 개념으로 접근)bfs를 돌며, 현재 비교하는 대상 단어와 변환 횟수를 pair로 묶어서 반복문자열간 비교를 이렇게밖에 못하나? 고민했으나..find 함수라는 것도 서치해봤지만 오히려 더 복잡해질거라 판단. 풀이 코드#include #include #include using namespace std;int answer..
[C++] 프로그래머스 lv3 단어 변환 (BFS)문제프로그래머스 DFS/BFS - 단어 변환https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이단어 변환을 위한 '최소 횟수'를 구하기 위해 bfs 사용 (최단거리와 동일한 개념으로 접근)bfs를 돌며, 현재 비교하는 대상 단어와 변환 횟수를 pair로 묶어서 반복문자열간 비교를 이렇게밖에 못하나? 고민했으나..find 함수라는 것도 서치해봤지만 오히려 더 복잡해질거라 판단. 풀이 코드#include #include #include using namespace std;int answer..
2025.03.03 -
링크 : https://www.acmicpc.net/problem/5557 5557번: 1학년 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀 www.acmicpc.net 크레이지 점화식 .. 처음에 아무 도움없이 풀라고 했을 때 ? 그냥 완전탐색 아니겠군 longlong 써야겠군 대충 DP 써야되나? 이러고있었음 좀더 고민했을때 .. 배웠던 내용이 생각남 + 이 문제를 조합론 강의 때 들었던 기억이 남. -> 그럼 조합론 내용중 머지? 대충 파스칼 삼각형? 조합론때 배운 이론은 순열 조합 파스칼 삼각형 이정도인데 뭐지 .. 싶었음 조합론 챕터였던거..
[얼렁뚱땅] 백준 BOJ - 1학년 (5557)링크 : https://www.acmicpc.net/problem/5557 5557번: 1학년 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀 www.acmicpc.net 크레이지 점화식 .. 처음에 아무 도움없이 풀라고 했을 때 ? 그냥 완전탐색 아니겠군 longlong 써야겠군 대충 DP 써야되나? 이러고있었음 좀더 고민했을때 .. 배웠던 내용이 생각남 + 이 문제를 조합론 강의 때 들었던 기억이 남. -> 그럼 조합론 내용중 머지? 대충 파스칼 삼각형? 조합론때 배운 이론은 순열 조합 파스칼 삼각형 이정도인데 뭐지 .. 싶었음 조합론 챕터였던거..
2023.01.25 -
링크 : https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net TIL 2) 이 문제를 통해 얻어갈 것 구간합 (대푯값) -> 인덱스드 트리 or 세그먼트 트리 !! update() : 수의 빈번한 변경을 위한 업데이트. query() : 구간의 대푯값을 위한. 흔히 find()라고 일컫기도 인덱스드 트리 넘 어렵당 .. 흑흑 내 힘으로 할 수 있는게 없었다 흑흑 반복 마니 해야겠다 그러므로 정답코드는 올리지 않겠다 .. 거의 내것이 아니므로 .. 이 문..
[C++] 백준 BOJ - 개똥벌레 (3020)링크 : https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net TIL 2) 이 문제를 통해 얻어갈 것 구간합 (대푯값) -> 인덱스드 트리 or 세그먼트 트리 !! update() : 수의 빈번한 변경을 위한 업데이트. query() : 구간의 대푯값을 위한. 흔히 find()라고 일컫기도 인덱스드 트리 넘 어렵당 .. 흑흑 내 힘으로 할 수 있는게 없었다 흑흑 반복 마니 해야겠다 그러므로 정답코드는 올리지 않겠다 .. 거의 내것이 아니므로 .. 이 문..
2023.01.25 -
링크 : https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net TIL 1) 풀면서 놓쳤던 점 놓쳤던건 아니고 나는 역으로 생각했다 잘못생각함..ㅎ 잊을때쯤 다시한번 풀어보자용 아래서 위로 파악해야되는데, 위에서 아래로 파악하려했음 주어진 테스트케이스는 다 만족해서 잘 구현한줄알고 제출했는데 틀려서 왜인가했더니 !! 질문 게시판에 나랑 똑같이 생각한 사람이 있었당 ㅎㅎ 위에서 아래로 dp하다보면 충돌하는 케이스 생기는 .. 하나씩 써보면 알았을텐데.. 침착하고 꼼꼼..
[C++] 백준 BOJ - 내려가기 (2096)링크 : https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net TIL 1) 풀면서 놓쳤던 점 놓쳤던건 아니고 나는 역으로 생각했다 잘못생각함..ㅎ 잊을때쯤 다시한번 풀어보자용 아래서 위로 파악해야되는데, 위에서 아래로 파악하려했음 주어진 테스트케이스는 다 만족해서 잘 구현한줄알고 제출했는데 틀려서 왜인가했더니 !! 질문 게시판에 나랑 똑같이 생각한 사람이 있었당 ㅎㅎ 위에서 아래로 dp하다보면 충돌하는 케이스 생기는 .. 하나씩 써보면 알았을텐데.. 침착하고 꼼꼼..
2023.01.23 -
링크 : https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net TIL 1) 풀면서 놓쳤던 점 놓쳤던건 아니고.. ㅎㅎ 뭔가 완전탐색 dfs일거같은데 영 감이 안왔다. 완전 초반 접근은 2차원 배열을 생각했다가, 굳이 필요 없을거라는 생각에 치킨집을 벡터로 뺐다. 그렇게 두니 자연스레 가정집도 분리하여 벡터로 뺐다. dfs를 구현하고, 탈출조건 전까지 가정집 벡터를 돌며, 그 루프 안에서 폐업하지 않은 치킨집을 돌며 뭔가 치킨거리..
[C++] 백준 BOJ - 치킨 배달 (15686)링크 : https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net TIL 1) 풀면서 놓쳤던 점 놓쳤던건 아니고.. ㅎㅎ 뭔가 완전탐색 dfs일거같은데 영 감이 안왔다. 완전 초반 접근은 2차원 배열을 생각했다가, 굳이 필요 없을거라는 생각에 치킨집을 벡터로 뺐다. 그렇게 두니 자연스레 가정집도 분리하여 벡터로 뺐다. dfs를 구현하고, 탈출조건 전까지 가정집 벡터를 돌며, 그 루프 안에서 폐업하지 않은 치킨집을 돌며 뭔가 치킨거리..
2023.01.23 -
링크 : https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net TIL 1) 풀면서 놓쳤던 점 놓쳤던 점이라기보단, >모음은 최소 한개, 자음은 최소 두개< 라는 조건을 어떤식으로 구현할지에 대해 .. 나는 dfs 탈출조건에서 마지막에 확인하게 한거라 약간 비효율적이지 않나 싶었다. 모음은 다섯개고, 자음은 모음 이외니까 쉽게 처리할수있었지만, 만약 더 갯수가 여러개거나 복잡해진다면, 결코 내 방법은 효율적이라고 보기 어려울듯하다. 마지막 dfs까지 갈 필..
[C++] 백준 BOJ - 암호 만들기 (1759)링크 : https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net TIL 1) 풀면서 놓쳤던 점 놓쳤던 점이라기보단, >모음은 최소 한개, 자음은 최소 두개< 라는 조건을 어떤식으로 구현할지에 대해 .. 나는 dfs 탈출조건에서 마지막에 확인하게 한거라 약간 비효율적이지 않나 싶었다. 모음은 다섯개고, 자음은 모음 이외니까 쉽게 처리할수있었지만, 만약 더 갯수가 여러개거나 복잡해진다면, 결코 내 방법은 효율적이라고 보기 어려울듯하다. 마지막 dfs까지 갈 필..
2023.01.23 -
링크 : https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net TIL 1) 풀면서 놓쳤던점 하 .. 최종 구현할때 질게에 있는 반례 다 잘돌아가고 시간복잡도 넉넉한데 왜 틀렸을까하고 코드 첫부분부터 보다가 깨달았음ㅋ 전역 배열 선언할때 사이즈 서로 착각해서 잘못 선언해놨던것임 하하 하하하하 하하하 .. 사실 안웃겨 그리고 문제 조건에서 오래된거 없애는거 보고 처음 접근할땐 무작정 큐로 했는데 사실 내가 사용했던 자료구조로는 큐쓰면 해당 학생..
[C++] 백준 BOJ - 후보 추천하기 (1713)링크 : https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net TIL 1) 풀면서 놓쳤던점 하 .. 최종 구현할때 질게에 있는 반례 다 잘돌아가고 시간복잡도 넉넉한데 왜 틀렸을까하고 코드 첫부분부터 보다가 깨달았음ㅋ 전역 배열 선언할때 사이즈 서로 착각해서 잘못 선언해놨던것임 하하 하하하하 하하하 .. 사실 안웃겨 그리고 문제 조건에서 오래된거 없애는거 보고 처음 접근할땐 무작정 큐로 했는데 사실 내가 사용했던 자료구조로는 큐쓰면 해당 학생..
2023.01.23