[프로그래머스 / 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
[프로그래머스 / Java] Lv2 - 예상 대진표
·
코딩테스트/프로그래머스
🔒 예상 대진표 ✔ 문제 설명 🚩 요구사항 분석 2의 지수 승으로 주어지는 n -> 2의 제곱승찾기 🔑 문제풀이 항상 이긴다는 가정하에 주어지는 n을 반으로 나눠 왼쪽과 오른쪽으로 나눈다면, 결국 오른쪽에있는경우는 해당 n의 제곱승이 나오기에 계속 잘라주면서 비교하는 방식으로 풀었다. class Solution { public int solution(int n, int a, int b){ int answer = 0; int count = 0; int s = n; for(int i=0; i