[프로그래머스/Python] 알고리즘고득점Kit-정렬-가장 큰 수
·
코딩테스트/프로그래머스
📌 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📌 문제 설명0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 ..
[프로그래머스/Python] 알고리즘고득점Kit-스택/큐-같은숫자는 싫어
·
코딩테스트/프로그래머스
📌 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📌 문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,✔️ arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 ..
[백준/Python] DFS/BFS-5014번. 스타트링크
·
코딩테스트/BAEKJOON
📌 문제 링크:https://www.acmicpc.net/problem/5014 ✅ 문제 유형: BFS/DFS✅ 풀이 방법 버튼을 누르는 최소 횟수를 구하는 것이므로 BFS를 사용한다. 📢 visited를 선언해, 여기에 버튼을 누른 횟수를 저장해 나가면 된다. 틀렸던 이유 U 또는 D가 0이라서 그 다음 위치가 S층과 똑같은 경우는 고려할 필요가 없다. 📢 (반례) 예를 들어, F = 2, S = 2, G = 1, U = 0, D = 1일 때 최대 2층인 건물에서, 현재 위치 2층이고 목적지는 1층이다. 이때 U가 0이므로 위로 올라갈 방법은 없고, 아래로 1층 내려가는 것 뿐이다. 그 다음 위치 후보지는 [s+u, s-d] = [2, 1] 일 때 큐에는 2와 1이 저장된다. 📢 단, 현재 위치가 2층..
[백준/Python] DFS/BFS-1697번. 숨바꼭질
·
코딩테스트/BAEKJOON
📌 문제링크: https://www.acmicpc.net/problem/1697 ✅ 문제유형: BFS/DFS ✅ 풀이방법 가장 빠른 시간을 출력해야 하니까 BFS를 선택했다. DFS/BFS 선택하는 전략: 2024.10.09 - [코딩테스트] - [알고리즘 전략] DFS/ BFS [알고리즘 전략] DFS/ BFSDFS가 유리한 경우 재귀적인 특징과 백트래킹을 이용해 모든 경우를 하나씩 전부 탐색하는 경우 그래프의 크기가 클 경우 최적화된 답을 찾는 것이 아닐 경우 경로의 특징을 저장해야 하는 경programmerhub-heeya16.tistory.com 시간초과 이유: time 값을 각 점에 방문 당시의 cnt값으로 queue에 같이 넣고 빼려 했더니, 자료구조 상 시간이 오래 걸리는 것 같다. 📢 해결..
[백준/Python] DFS/BFS-2644번. 촌수 문제
·
코딩테스트/BAEKJOON
📌 문제 설명 우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌으로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌, 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오. # 입력 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하..
[백준/Python] DFS/BFS-2667번. 단지번호 붙이기
·
코딩테스트/BAEKJOON
📌 문제 설명과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오.# 입력첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. # 출력첫 번째 줄에는 총 단지수를 출력하시오. 그..