코딩테스트/프로그래머스

    [프로그래머스 / Java] Lv2 - 영어 끝말잇기

    🔒 영어 끝말잇기 ✔ 문제 설명 🚩 요구사항 분석 substring을 이용해 앞사람이 말한 마지막 문자 체크 임의의 count 변수를 활용해 인원수와 같으면 차례를 추가해 탈락자 확인 🔑 문제풀이 class Solution { public int[] solution(int n, String[] words) { int[] answer = new int[2]; List gameList = new ArrayList(); int count = 0; int care = 1; for(int i = 0; i

    [프로그래머스 / Java] Lv2 - 짝지어 제거하기

    🔒 짝지어 제거하기 ✔ 문제 설명 🚩 요구사항 분석 스택을활용해 스택이 비어있지않고 peek 스택 값이 같다면 지우는 방식을 진행했다. 🔑 문제풀이 import java.util.Stack; class Solution { public int solution(String s) { int answer = 0; Stack stack = new Stack(); //1. 문자제거하기 for (int i=0; i < s.length(); i++){ char c = s.charAt(i); // 현재 스택이 비어있지않고 peek 스택의 최상위 값이 c와 같다면 pop if(!stack.isEmpty() && stack.peek() == c){ stack.pop(); }else{ stack.push(c); } } ans..

    [프로그래머스 / Java] Lv2 - 이진 변환 반복하기

    🔒 이진 변환 반복하기 ✔ 문제 설명 🚩 요구사항 분석 제거할 0의 개수 count에 저장 1을 만들기 위해 반복되는 횟수 저장 0을 제거한 후 남은 1의 개수를 이진 변환, 스트링으로 변환하기위해 Integer.toBinaryString() 활용 🔑 문제풀이 class Solution { public int[] solution(String s) { int[] answer = new int[2]; int zero = 0; int count = 0; int l = 0; while(!s.equals("1")){ zero++; l=0; for(int i=0; i

    [프로그래머스 / Java] Lv2 - 올바른 괄호

    🔒 올바른 괄호 ✔ 문제 설명 🚩 요구사항 분석 스택이 비어있지않고 들어오는 괄호가 ')'이고 현재 스택에있는 값이 반대인 '(' 라면 스택을 비워준다. 올바른 괄호 아니라면 스택에 추가. 스택이 0 이라면 true 아니라면 false 🔑 문제풀이 import java.util.Stack; class Solution { boolean solution(String s) { boolean answer = true; Stack stack = new Stack(); for(int i =0;i

    [프로그래머스 / Java] Lv2 - 점프와 순간 이동

    🔒 점프와 순간 이동 ✔ 문제 설명 🚩 요구사항 분석 최소 이동을 위해 주어진 N을 2로 나눈다. (순간이동) 나눌수 없을 때 건전지 사용량(answer) 을 1 추가하고 n-1 진행 N이 1이되면 answer을 추가하고 종료 🔑 문제풀이 public class Solution { public int solution(int n) { int ans = 0; int a = n; for(int i = 0; i