[프로그래머스] 크레인 인형뽑기 게임 - JAVA
·
알고리즘
풀이import java.util.Stack;class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; Stack stack = new Stack(); for (int i : moves) { for (int j = 0; j   이 문제는 stack을 사용하면 쉽게 풀 수 있다.풀면서 헷갈리게 만드는 점이 두 가지 있었는데 풀면서 문제가 참 불친절하다고 생각했다...우선 제일 헷갈렸던 건 행렬인데 i가 행, j가 열인 줄 알고 풀었다가 대차게 틀리고 그림을 그려보고 확실하게 이해하게 됐다. 문제의 예시를 인형뽑기 크레인처럼 놓아본다면 아래와 같다. Row ..
[프로그래머스] 실패율 - JAVA
·
알고리즘
풀이import java.util.*;class Solution { public int[] solution(int N, int[] stages) { int[] answer = new int[N]; double[] noClearUser = new double[N]; double[] reachUser = new double[N]; HashMap map = new HashMap(); for (int i = 0; i = i+1) { reachUser[i]++; } } if (noClearUser[i] == 0.0 || reachUser[i] ==..
[프로그래머스] 문자열 내 마음대로 정렬하기 - JAVA
·
알고리즘
[작성일: 2024. 03. 09]  풀이import java.util.Arrays;class Solution { public String[] solution(String[] strings, int n) { String[] list = new String[strings.length]; String[] answer = new String[strings.length]; for (int i = 0; i  strings 문자열 배열에서 문제에 주어진 n 인덱스 + strings[i]를 한 문자열을 list[i]에 저장한다.예를 들어 strings[i]에 abcd가 저장되어 있고, n이 3이라면 list[i]에는 dabcd가 저장된다.Arrays.sort를 사용하면 자연..
[프로그래머스] 이진수 더하기 - JAVA
·
알고리즘
[작성일: 2024. 01. 28]  풀이class Solution { public String solution(String bin1, String bin2) { int num1 = Integer.valueOf(bin1, 2); int num2 = Integer.valueOf(bin2, 2); int sum = num1 + num2; String answer = Integer.toBinaryString(sum); return answer; }} Integer.valueOf는 String 타입을 Integer로 형변환 할 때만 사용하는 줄 알았는데, radix 부분에 변환할 진수를 넣으면 진수로 변환된다는 것을 처음 알았다.num1과..
[프로그래머스] 숨어있는 숫자의 덧셈(2) - JAVA
·
알고리즘
[작성일: 2024. 01. 15]   풀이class Solution { public int solution(String my_string) { int answer = 0; String[] arr = my_string.replaceAll("[a-zA-Z]", " ").split(" "); for (int i = 0; i   이 문제는 replaceAll과 정규식을 사용하면 쉽게 풀 수 있다."[a-zA-Z]"는 소문자와 대문자를 의미하며 " "로 replace한다는 뜻이 된다.즉 주어진 문자열에서 숫자를 제외한 영어는 공백으로 대체된다.  그 후 my_string을 공백으로 split 해서 String[] arr에 담는다. aAb1B2cC34Oop라는 my_st..
[프로그래머스] 문자열 밀기 - JAVA
·
알고리즘
[작성일: 2023. 11. 30]  풀이 1class Solution { public int solution(String A, String B) { int answer = 0; String C = A; for (int i = 0; i  풀이 1은 내가 푼 방법으로 C라는 String 변수를 만들어서 A를 대입한다. 첫 반복문에서 C와 B가 같다면 문자열을 밀어야 할 필요가 없으므로 0을 리턴한다.그렇지 않다면 D라는 String 변수를 만들어서 C.substring(C.length() - 1)을 대입한다. substring에 파라미터를 1개만 전달하면 전달된 파라미터 인덱스부터 문자열 끝까지 자른다.C.length() - 1을 파라미터로 넘겼으므로 C가 abc..