목록Argorithm (78)
빙응의 공부 블로그

📝풀이 배열을 구성하고 푸는 문제 또 다른 바구니는 ArrayList로 편하게 관리하였다. import java.util.ArrayList; class Solution { public int solution(int[][] board, int[] moves) { ArrayList al = new ArrayList(); //크레인으로 집은 것들을 넣는 바구니 int answer = 0; for (Integer move : moves) { move -= 1; // -1을 해줘야 배열에 대한 순서가 맞다. for (int i = 0; i < board.length; i++) { if (board[i][move] != 0) { if (!al.isEmpty() && board[i][move] == al.get(al..

📝풀이 나누기로 값을 구해서 진행하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 로 진행 class Solution { public String solution(int[] numbers, String hand) { StringBuilder answer = new StringBuilder(); int leftThumb = 10; // '*' 위치를 10으로 초기화 int rightThumb = 12; // '#' 위치를 12로 초기화 for (int number : numbers) { if (number == 0) number = 11; // 0의 위치를 11로 변경 if (number % 3 == 1) { // 1, 4, 7인 경우 answer.append("L"); leftThumb = n..

📝풀이 요구사항이 많은 String 기능 종합 선물 세트 문제이다. 각 단계마다 차근차근 구현하면 된다. 2단계를 풀기 위해서는 아스키 코드를 알고 있어야한다. class Solution { public String solution(String new_id) { // 1단계: 소문자로 치환 String first_id = new_id.toLowerCase(); // 2단계: 유효한 문자 제외 모두 제거 StringBuilder second_id = new StringBuilder(); for (int i = 0; i = 'a' && ch = '0' && ch 0 && third_id.c..

📝풀이 원래 쉬운 문제는 포스팅을 안하는데 스트림 사용 겸해서 올린다. 1. IntStream 만들기 2. range() 반복횟수 설정 3. map()으로 변환 4. sum()으로 더하기 아름다운 코드야 참 import java.util.stream.IntStream; class Solution { public int solution(int[] absolutes, boolean[] signs) { return IntStream.range(0, absolutes.length) .map(i -> signs[i] ? absolutes[i] : -absolutes[i]).sum(); } }

📝풀이 위 문제를 읽어보면서 두가지 아이디어가 떠올랐다. 1. 0이 나오는 경우 무시하고 0의 갯수만 세기 2. 6등 이하는 모두 6등으로 처리 Math.min 쓰면 되겠구나! 코드 자체는 매우 간단하다. 1. lottos가 0이면 0의 갯수만 올림 2. 0이 아니면 그 수와 같은 당첨번호가 있는지 검사 3. 계산 완료 후 순위 계산 class Solution { public int[] solution(int[] lottos, int[] win_nums) { int count = 0; //로또와 같은 숫자를 셈 int zero = 0; // 0의 갯수 for(int i = 0; i < win_nums.length;i++){ if(lottos[i] == 0) zero++; else{ for(Integer ..