자바 알고리즘 4

[알고리즘] 프로그래머스 - 올바른 괄호 (Level 2)

1. 조건 2. 내 생각 어떻게 풀어야할지 고민을 많이 했다. 스택과 큐에대한 개념은 있었지만 막상 문제를 풀려하니 방법을 잘 몰랐던 것 같다. 스택과 큐에대해 문제를 풀며 따로 정리했고 아래 링크에서 확인하면 될 것 같다. 스택 & 큐 처음 문제를 확인하고 스택과 큐에대한 문제인지 파악하지 못했다. 그래서 주어진 문자열s를 반으로 나눠 앞과 뒤를 비교하는 방식도 생각해 보았고, 문자열 s를 split으로 배열로 변환해 반복문을 사용하려고도 했었다. 문제를 보던 중 사이트 상단의 스택/큐에대한 문제라는 것을 확인하고 해당 관점에서 문제를 생각하게 되었다. 3. 실행 결과 import java.util.Stack; class Solution { boolean solution(String s) { boole..

자바 알고리즘 2023.05.05

[알고리즘] 프로그래머스 - 자연수 뒤집어 배열로 만들기

문제를 확인하고 각 자릿수를 뽑아낸 다음 반복문을 통해 반대로 넣어주면 된다고 생각했다. 아래에서 코드를 만들어 실행해 보겠다. public int[] solution(long n) { String nString = Long.toString(n); int[] answer = new int[nString.length()]; //숫자n - 문자 - 배열 변환 int[] arr = new int[nString.length()]; // 역순 담을 배열 for (int i=0; i=0; i--, j++) { arr[j] = answer[i]; } return arr; } 숫자 -> 문자 -> 배열 두번의 변환 과정을 거치며 문제를 풀었다. 하지만 과연 이러한 과정들이 필요했나 라는 생각이 있다. 두번의 과정을 거..

자바 알고리즘 2023.02.26

[알고리즘] 프로그래머스 - 모의고사

문제를 확인하고 어떤 방법으로 풀어야 하나 생각을 해봤다. 가장 먼저 1번, 2번, 3번 수포자가 찍는 방식에 규칙이 존재했고 각각 5번 8번 10번씩 숫자가 반복 되는 것 이었다. int[] answer = new int[3]; // 수포자들이 각각 문제를 맞춘 개수가 들어갈 배열 (수포자가 3명이기에 길이는3) int[] arr = {}; // 정답이 들어갈 배열 int[] case1 = {1,2,3,4,5}; int[] case2 = {2,1,2,3,2,4,2,5}; int[] case3 = {3,3,1,1,2,2,4,4,5,5}; 그래서 각각의 배열을 만들어 문제를 찍는 규칙을 담아줬고 이 배열과 값을 넣어주는 answers 배열의 값이 일치하는 갯수를 찾는 순서가 필요했다. for (int i=..

자바 알고리즘 2023.02.18