분류 전체보기
-
[알고리즘] 프로그래머스 1단계 - 같은 숫자는 싫어Algorithm 2024. 5. 11. 13:22
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12906 문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution..
-
[알고리즘] 프로그래머스 2단계 - [PCCP 기출문제] 2번 / 석유 시추Algorithm 2024. 5. 9. 13:55
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/250136 문제 설명2차배열로 주어진 lands라는 땅이라는 배열 값에서 석유 시추를 직선으로 내려서 시추관과 석유가 닫는 모든 석유의 양이 최대인 경우를 찾는다.석유는 숫자 1로 되어있다. 예시lands [[0, 0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 1, 1, 0, 0], [1, 1, 0, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0, 0, 0], [1, 1, 1, 0, 0, 0, 1, 1]] result9 일반적인 미로찾기나 섬찾기에서 사용하는 bfs 방식으로 풀었다고 생각했는데 효율성에서 시간초과가 발생한다..일단 해결해보고 해결이 ..
-
[알고리즘] 프로그래머스 1단계 - 모의고사Algorithm 2024. 5. 8. 15:55
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42840 문제 설명수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은..
-
[알고리즘] 프로그래머스 1단계 - [PCCE 기출문제] 9번 / 이웃한 칸Algorithm 2024. 5. 7. 13:35
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/250125 문제 설명각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다. 보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요. 이웃한 칸들 중 몇 개의 칸이 같은 색으로 색칠되어 있는지 확인하는 과정은 다음과 같습니다. 예시board[["blue", "red..
-
[알고리즘] 프로그래머스 1단계 - 가장 많이 받은 선물Algorithm 2024. 5. 6. 23:07
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/258712 문제 설명선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다. 두 사람이 선물을 주고받은 기록이 있다면, 이번 달까지 두 사람 사이에 더 많은 선물을 준 사람이 다음 달에 선물을 하나 받습니다. 예를 들어 A가 B에게 선물을 5번 줬고, B가 A에게 선물을 3번 줬다면 다음 달엔 A가 B에게 선물을 하나 받습니다. 두 사람이 선물을 주고받은 기록이 하나도 없거나 주고받은 수가 같다면, 선물 지수가 더 큰 사람이 선물..
-
[알고리즘] 프로그래머스 1단계 - 폰켓몬Algorithm 2024. 5. 2. 16:24
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/1845 문제 설명당신은 최대한 다양한 종류의 폰켓몬을 가지길 원하기 때문에, 최대한 많은 종류의 폰켓몬을 포함해서 N/2마리를 선택하려 합니다. N마리 폰켓몬의 종류 번호가 담긴 배열 nums가 매개변수로 주어질 때, N/2마리의 폰켓몬을 선택하는 방법 중, 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아, 그때의 폰켓몬 종류 번호의 개수를 return 하도록 solution 함수를 완성해주세요. 예시nums[3,3,3,2,2,4] result3 distinct api를 통한 풀이 방법import java.util.stream.IntStream;class Solution { ..
-
[묘공단] 코딩 테스트 합격자 되기 - 집합Algorithm 2024. 5. 2. 15:18
코딩 테스트 합격자 되기 자바편책 제목 : 코딩 테스트 합격자 되기 자바편지은이 : 김희성 집합개념집합은 순서와 중복이 없는 원소들을 갖는 자료구조를 의미한다.예를들어 구성이 {1, 6, 6, 6, 5, 3}이면 이는 집합으로 생각할 때 중복을 제외해 {1, 6, 4, 3}으로 생각해야한다.일반적으로 집합 자료구조에서 서로 다른 두 집합의 관계를 상호 배타적 집합이라고 한다.상호 배타적 집합은 두집합 간의 교집합이 없음을 의미한다. 상호 배티적 집합 특징이 특징은 추후 그래프 알고리즘에서 많이 활용하기 때문인데 그래프 알고리즘은 흔히 사이클을 확인 하는 일이 많기 때문이다.그 작업에서 상호 배타적 집합 개념을 활용하게 된다. 그 외에 위 특징이 활용된는 범위이미지 분할 : 이미지를 서로 다른 부분으로 나..
-
[알고리즘] 프로그래머스 1단계 - 수박수박수박수박수박수?Algorithm 2024. 5. 1. 23:46
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12922 문제 설명길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 예시n3 return"수박수" class Solution { public String solution(int n) { // 수가 많은경우 StringBuilder를 통해서 한개의 객체로 수정작업이 유리 String answer = " "; // 마지막 글자에 따라서 이어붙이기 for(int i = 0; i