자바 초급문제로 맨땅에 해딩하기 62

자바 Level 2 문제, 2-1. 프린터 진행 2일차

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/42587) 자바 Level 2 문제의 프린터 이다. 로직을 짜내려가는데 걸린 시간은 한 2시간 30분 정도 걸린 듯 싶다. 중간에 고개를 갸우뚱하며 가만히 앉아서 생각도하고 턱을 괴기도하고 멍하니 정면을 바라보면서 순간순간 참 고민을 많이 했다. 이런 저런 로직을 짜보고 Arrays 클래스가 가진 메서드를 활용하기 위해서 [이것이 자바다.] 교재에서 원리를 천천히 들여다 보기도하며 짜내려갔고 테스트에서 문제가 통과되어서 "다행이다."라고 말한 후에 제출해보았다. 기대는 하지않았다, '분명히 내가 놓친 점이 있는 것 같아..'라고 짜내려가면서도 생각이 들었기 때문이다. 1 2 3 4 5 6 7 8 9 ..

자바 Level 2 문제, 2. 프린터 진행 중

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/42587) 자바 Level 2 문제의 프린터 이다. 금일에도 자리를 잡고 앉아서 포스트잇에 "이렇게 저렇게 하면..." 하면서 적어가며 다가갔는데 개인적으로 컬렉션 사용이 익숙하지가 않고 제대로 모르는 부분이 많아서 이리저리 코드를 짜내려가다가 문득 '이해하지 못하는 것을 정답을 위해 잔뜩 사용하는 것보다 직접 내가 사용할 수 있는 것들을 다양하게 사용하고 더 다양한 방법으로 접근해보고 싶다.' 라는 생각이 들어서 새로운 클래스를 가지고 접근하여 다시 시작하게 되었다. 컬렉션과 Wrapper 클래스에 대해서 이리저리 찾아보면서 시간을 보내고는 했는데 어느 사이에 문제풀기에만 급급한 것 같은 자신의 모..

자바 Level 2 문제, 1. 주식가격 완성

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/42584) 자바 Level 2 문제의 주식가격 이다. 문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 로직을 다시 짜내려갔다. 출력 값을 받아보고 문제가 있으면 다시 지우고 다시 쓰기를 반복하며 마무리하였는데, 체크해 줄 포인트와 for문에서 변수의 선언과 continue; break; 의 사용점에 따라 로직의 결과가 천차만별로 변한다..

자바 Level 2 문제, 1. 주식가격 진행 중

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/42584)자바 Level 2 문제의 주식가격이다. 거창하게 Level 2라고 했지만 ..스스로 더 상승했다기 보다는...차근차근 밟아나가는 과정의 내 모습이라.. Level 2라고 해도 문제를 접하시는 분 마다 다른 난이도를 체감하시리라 생각하며 겸손한 마음을 깊이 품고 있다.사실 스스로 되돌아 볼때에 보기에 편하기 위해서 제목에 레벨을 구분해놓은 것으로, 부디 넓은 마음으로 이해해주시길 부탁드려본다. 아직 다 완성하지 못했고 로직에서의 빈틈이 꽤 발견되는 상황이다. 처음에는 간단하게 접근했으나, 제출과정에서 실패를 보고서 "second 변수를 어떻게 증감시킬까..테스트 예외 빼고는 또 어떤 변수가 ..

자바 초급문제 28. 정수 내림차순으로 배치하기

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/12933) 자바 초급문제의 정수 내림차순으로 배치하기 이다. 아래까지의 3개의 문제는 모두 졸음과 싸우며 코딩했다... 금일에 마음 먹은 일이 있어서 부득이하게도 졸음과 싸우게되었다. 그래도 마무리해서 너무 다행이다..(ㅠㅠ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 package programmers_정수내림차순으로배치하기; import java.util.*; public class subClass { public long solution(long n) { long answer = 0; // 정수 n을 나누..

자바 초급문제 27. 자연수 뒤집어 배열로 만들기

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/12932) 자바 초급문제의 자연수 뒤집어 배열로 만들기 이다. 역시나 졸음과 싸우며.. 열심히 타이핑 해내려나갔던 문제이다. 나중에 다시 코딩해 볼 생각이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package programmers_자연수뒤집어배열로만들기; import java.util.*; public class subClass { public int[] solution(long n) { int[] answer = {}; // 자연수 n을 뒤집어 각자리 숫자를 원소로 가지는 배열형태로 리턴해주세요. String str = L..

자바 초급문제 26. 자릿수 더하기

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/12931) 자바 초급문제의 자릿수 더하기 이다. 졸음에 취한상태로 푼 문제다..통과는 했지만 아쉬운 부분이 남아서 나중에 한 번 더 들여다볼 생각이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package programmers_자릿수더하기; public class subClass { public int solution(int n) { int answer = 0; // n이 주어지면 n의 각 자릿수의 합을 구해서 리턴하세요 String str = Integer.toString(n); String[] arr; int[] list = new i..

자바 초급문제 25. 비밀지도

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/42889) 자바 초급문제의 2019 KAKAO BLIND RECRUITMENT 1차의 비밀지도 이다. 완료하는데는 30~40분 정도 걸린 듯하다. 일단..보는 순간에는 비트논리 연산자가 생각이났다. 어느 분이셔도 이 문제를 접하신다면 그런 생각이 드시지않을까 생각을 조심스레 해본다. 비트논리 연산자의 논리합 연산자인 | 를 사용해서 0 0 일때만 0이 도출되도록 만들었다. 비트논리 연산자 관련해서 교재를 찾아보다가 toBinaryString()을 이용해서 이진수로 만들고 주의할 점인 숫자를 식별할 수 있는 이진수 값만 준다는 점을 보고 while 문을 돌려서 n의 길이만큼 0을 추가시켰다. 당연하게도..

자바 초급문제 13-4. 실패율 완성.

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/42889) 자바 초급 문제의 2019 KAKAO BLIND RECRUITMENT안의 실패율이다. list째로 sort해서 그 stage값을 answer에 넘겨주고 싶어서 Collections.sort()메서드의 Comparpator를 implements하여 CompareTo메서드를 오버라이딩했다. sort 시의 기준점을 바꿔놓은 것이다. sort의 기준점을 잡아준 것인데 기존 인자보다 들어온 인자의 failRate가 높다면 양수를 리턴시켜서 앞으로 넘겨놓았다. 리스트에 넣을때부터 스테이지 순차로 되어있었기 때문에 그 이후에 다른 기준은 잡아 줄 필요가 없었다. 그 후에 for문을 돌려서 list.ge..

자바 초급문제 13-3. 실패율 도전 3일차.

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/42889) 자바 초급 문제의 2019 KAKAO BLIND RECRUITMENT안의 실패율이다. 1h정도 짤막하게 건드렸는데..1h이 나의 기준에서 짤막하다는게 감사하다는 생각이 잔잔하게 들고 있다. 전의 로직을 구축하는 시간보다 새 로직을 구축할 시간이 단축되었다는게 감사한 지금이다. 개인적인 생각이지만 전의 로직이 접근하기 복잡하게 짜놓았다는 생각이 들었다. '분명 더 좋게 처리할 수 있지 않을까..? ' 라는 생각이 들었고, 새로운 클래스를 만들어 다시금 새로 코딩하기 시작했다. 하나의 클래스를 잡고 그 필드로 실패율과 스테이지 넘버로 잡아놓고 생성자로 매개변수를 필드 값으로 초기화하여 클래스를..