본문 바로가기

전체 글

(172)
[프로그래머스] 네트워크-BFS/DFS lv.3 (Python3) (개발자 강화/코딩 테스트) 2024. 11. 7. 16:59 제가 그래프에 많이 약해서 그래프 좀 풀어보겠습니다.https://school.programmers.co.kr/learn/courses/30/lessons/43162 네트워크 2차원 배열이 있고, 각 열마다 어떤 번호와 연결되어 있는지 1, 연결되어 있지 않은지 0으로 표시합니다. A-B, B-C 연결에서 A와 C는 B를 통해 간접적으로 연결됩니다. 이런 간접 연결을 포함해서 같은 네트워크 상에 있는 컴퓨터의 최대 개수를 구합니다 BFS 기본 구조는 from collections import deque로 deque를 불러오고일단 q에 첫 번째 원소를 집어넣고while q를 돌려서 q가 빌떄까지 계속한다그 안에서 for문을 돌려 q에서 popleft 한 원소에 대해그 원소 주변에 있는 조건에 해당하는 원소..
[프로그래머스] 카펫 - 완전탐색 (C++) lv2 (개발자 강화/코딩 테스트) 2024. 11. 6. 12:33 C++ 연습! 카펫의 가운데는 노란색, 테두리 1줄은 갈색갈색과 노란색의 cell 개수만 보고 카펫의 가로, 세로 크기를 알 수 있을까? 아이디어: 노란색의 가로+2 = 갈색 가로, 노란색 세로+2 = 갈색 세로 총 cell 개수 = 노랑+갈색; brown 가로세로 = 카펫 가로세로임그러면 brown의 가로세로를 순차적으로 점검하며 possibility를 분석하면 된다 brown 세로 길이 최솟값 = 3왜냐면 yellow의 최소 세로가 1임. 그리고 위아래로 brown cell이 1개씩 붙으니까 3 brown 세로 길이 최대 = 루트(총 cell 개수)왜냐면 총 개수를 어떻게 구겨넣든 일단 가로=세로가 되는 지점에서 멈춰야 되니까(그 이상으로 넘어가면, 그 이전에서 살펴본 것을 가로, 세로 길이만 바꿔서..
[프로그래머스] 소수 찾기 - 완전탐색 (C++) (개발자 강화/코딩 테스트) 2024. 11. 6. 11:48 c++언어에 익숙해지기파이썬 원툴 코테에서 c++ 코테로 전이하는 과정...  (삽질 과정 모두 포함)(정답만 있는 포스트 아님) 한 자리 숫자가 적힌 종이조각이 흩어져 있다.흩어진 종이조각을 붙여 소수를 몇 개 만들 수 있는지 알아내자종이 조각에 적힌 문자열 numbers가 주어졌을 때종이조각으로 만들 수 있는 소수가 몇 개인지 return하자 아이디어1: 일단 str 형태로 숫자가 줄줄 붙어서 나온다.파이썬이었다면 list에 담아서 배열로 만들었을 것 같다c++은 어떻게 할 수 있을까? str.copy()를 사용해보자 #include #include #include #include using namespace std;int solution(string numbers) { int answer = ..