본문 바로가기

알고리즘 풀이/프로그래머스13

[level 2] 카펫 - 42842 (java) 문제 요약 Leo가 카펫을 사러 갔다가, 중앙에 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양의 카펫을 봤습니다. Leo는 노란색과 갈색 격자의 개수를 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. 갈색 격자의 수 brown과 노란색 격자의 수 yellow가 주어졌을 때, 카펫의 가로, 세로 크기를 순서대로 배열에 담아 반환하는 solution 함수를 작성해 주세요. 문제 분석 노란색 격자로 만들 수 있는 모든 가능한 사각형 조합을 찾고, 갈색 격자를 추가하며 전체 카펫의 크기를 찾아야 한다. 그리고 카펫의 가로길이는 세로 길이와 같거나, 세로 길이보다 길어야 한다. 코드 import java.util.*; /* 노란색으로 만들 수 있는 사각형의 형태를 모두 찾은 뒤 그 둘.. 2023. 5. 4.
[level 1] 모의고사 - 42840 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; import java.util.stream.IntStream; class Solution { public int[] solution(int[] answers) { int[] answer; /* 1번의 방식 = 1-2-3-4-5순 2번의 방식 = 2-1 / 2-3 / 2-4 / 2-5 / 2-1 순 3번의 방식 = 3-3 / 1-1 / 2-2 / 4-4 / 5-5 / 3-3 순 각각의 방식의 순서대로 찍는순서 배열을 만든 후 검사하기 */ final int[][] .. 2023. 5. 4.
[level 2] 모음 사전 - 84512 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { static final String[] alphabet = {"A","E","I","O","U"}; public int solution(String word) { // alphabet안에 들어있는 문자열을 기준으로 만들 수 있는 모든 단어를 만들어 dict에 저장 List dict = makeString(""); // 사전순으로 모든 문자열이 저장되어있는 dict의 word 위치를 찾으면 그게 답 int answer = dict.in.. 2023. 5. 4.
[level 2] 행렬의 곱셈 - 12949 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = {}; // 행렬 곱셈의 결과, 행렬의 크기는 왼쪽행렬의 행 개수와 오른쪽 행렬의 열 개수를 가진다. int[][] arr = new int[arr1.length][arr2[0].length]; // 반복문을 통해 각각의 위치에 맞는 값을 넣어준다. for(int r = 0; r < arr.length; r++){ for(int c = 0; c.. 2023. 4. 26.
[level 2] 거리두기 확인하기 - 81302 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { // 응시자의 위치를 담을 클래스 생성 private static class Point{ public final int r,c; private Point(int r, int c){ this.r = r; this.c = c; } @Override public String toString(){ return r+" "+c; } } public int[] solution(String[][] places) { int[] answer = new.. 2023. 4. 26.
[level 2] 삼각 달팽이 - 68645 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int[] solution(int n) { if(n == 1){ return new int[]{1}; } int[] answer = {}; // 2차원 배열에 들어가있다고 생각하고 진행한다. // 모든 값을 다 넣은 후 첫줄부터 0이 아닐때까지 배열에 값을 저장하고, 그 결과값을 반환한다. int[][] arr = new int[n][n]; // 방향을 지정해 줄 필요가 있다. // 방향은 3방향이다. 아래, 오른쪽, 왼.. 2023. 4. 26.