본문 바로가기

Programming/Programmers47

[프로그래머스] Lv2. 전력망을 둘로 나누기(Java) https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 하나로 연결되어 있는 전력망을 전선을 하나 잘라서 두 개의 전력망으로 나눌 것이다. 아래 그림처럼 자르는 전선이 만약에 [4, 7] 이라고 한다면 두 전력망은 4에 연결되어 있는 전력망과 7에 연결되어 있는 전력망으로 나눠질 것이다. 4에 연결되어 있는 전력망의 송전탑의 개수는 6개이고, 7에 연결되어 있는 전력망의 송전탑의 개수는 3개이다. 어떤 송전탑에 연결되어 있는 송전탑의 개수는.. 2023. 9. 25.
[프로그래머스] Lv2. 소수 찾기(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 numbers의 길이가 최대 7이기 때문에 만들 수 있는 모든 경우의 수를 다 해도 아주 크지 않다. 길이개수 1 7 2 7 x 6 3 7 x 6 x 5 ... ... 7 7 x 6 x 5 x ... x 2 x 1 따라서 완전 탐색으로 모든 경우의 수를 구하고 그 중 소수인 수를 찾으면 된다. 풀이 문자열 입력을 숫자형 배열로 바꾸기 입력이 문자열(numbers)로 주어지기 때문에.. 2023. 9. 22.
[프로그래머스] Lv2. 모음사전(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 모음 5개(A, E, I, O, U)를 사용해서 만들 수 있는 단어의 길이의 종류는 5개이다(1글자 ~ 5글자) 글자 수단어 개수 1 5^1 = 5 2 5^2 = 25 3 5^3 = 125 4 5^4 = 625 5 5^5 = 3125 합계 3905 모든 경우의 수를 다 만들어도 4000개 정도이기 때문에 모든 경우를 다 확인하는 완전 탐색으로 풀어도 가능하다. 재귀함수를 통해 가능.. 2023. 9. 22.
[프로그래머스] Lv2. 단어 변환(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 begin 에서부터 시작해서 target 까지 어떤 조건을 만족하는 단어들을 쭉 찾는다는 것에서 그래프 탐색 DFS or BFS라고 생각했다. target까지 쭉 하나의 줄기를 타고 찾기 때문에 DFS로 풀어야 하나 했는데, 그 단계의 최단 과정을 구하는 것이기 때문에 BFS 라고 생각했다. 최소한의 단계로 변환해야 하기 때문에 한번 사용한 단어는 사용할 수 없도록 하기 위해 방문.. 2023. 9. 22.
[프로그래머스] Lv2. 멀쩡한 사각형(Java) 출처: https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 .. 2023. 7. 27.
[프로그래머스] Lv2. 숫자 카드 나누기(Java) 출처: https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 철수와 영희는 선생님으로부터 숫자가 하나씩 적힌 카드들을 절반씩 나눠서 가진 후, 다음 두 조건 중 하나를 만족하는 가장 큰 양의 정수 a의 값을 구하려고 합니다. 철수가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고 영희가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 영희가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고, 철수가 가진 카드들에 .. 2023. 7. 27.