개발자 (41) 썸네일형 리스트형 프로그래머스Lv1 나누어 떨어지는 숫자 배열 class Solution { public int[] solution(int[] arr, int divisor) { int[] arr1 = Arrays.stream(arr).filter(parameterArr -> parameterArr % divisor == 0).toArray(); arr1 = Arrays.stream(arr1).sorted().toArray(); if (arr1.length ==0) arr1 = new int[]{-1}; return arr1; } } 지금껏 풀어왔던 배열 문제들과 유사한 문제지만 매번 똑같은 방식으로 풀기보다 새로운 개념을 배우며 풀어보면 좋을 것 같아 Arrays.stream을 사용해서 풀어봤다. - Arrays.stream(arr) - 스트림은 데이터의 흐름이다.. 프로그래머스 Lv1 문자열을 정수로 바꾸기 class Solution { public int solution(String s) { int answer = Integer.parseInt(s); return answer; } } int type answer에 Integer.parseInt(s)로 Integer Type으로 형변환한 s를 할당해주기만 하면 되는 간단한 문제였다. 사실 Integer.parseInt를 하게되면 객체가 String type일 때의 부호까지 유지한채 변환하는지는 모르고 그냥 형변환 후에 한번 test해봤더니 해결됐다.. - Integer.parseInt() - Integer.parseInt(변환할 객체)를 할당해주게 되면 ()안의 객체를 integerType로 변환해준다. 기본 값은 10진수로 객체를 변환해 return해주며.. 프로그래머스 Lv1 두 정수 사이의 합 class Solution { public long solution(int a, int b) { long answer = 0; if(a != b){ while(a < b){ answer += a++; } while (b 항해 99 8일차 (알고리즘) 항해 2주차의 시작이다. 항해 2주차의 시작은 일주일동안 집에 박혀있었으나 감염돼버린 코로나와 함께 깔끔하게 시작했다. -4일차- 28문제 中 28 Clear = Challenge 도전중 = 12문제 中 2 Clear 문제에 수학적 개념이 등장해서 덜컥 겁부터 먹었다. 자바로 문제해결 하는 것도 어려운데 수학적으로 계산까지 해가면서 풀어야하다니... 하는 생각을 했지만 생각보다 많이 간단한 문제였다. class를 통해 제곱근을 구해준 후 차근차근 단계만 밟아가면 되는 문제라큰 어려움이 없었던 것 같다. 이 문제가 유독 기억에 남는 이유는 후에 하샤드 수 , 콜라츠 추측 등의 문제를 마주했을 때 겁먹지 않고 풀어나갈 수 있게끔 해준 문제인 것 같다. 문제를 찬찬히 읽어보고 과정들을 하나 하나 주석으로 적은.. 항해 99 7일차 -1주차- 회고 항해99의 1주 차가 끝났다. 정신없던 미니 프로젝트로 시작해 숨막히는 알고리즘으로끝난 1주 차의 회고 주제는 JWT와 API를 정리하는 것으로 주어졌다. 미니프로젝를 하며 내가 JWT를 이해하고 활용했던 부분과 API를 이해하고 설계했던 내용으로 정리를 해보면 좋을 것 같다. 1.Json Wen Tokens jwt는 " . "을 통해 3파트로 header.payload.signature 순으로 구분된다. Header : 토큰의 타입과 해시 암호화 알고리즘으로 구성되어있다. Payload : 토큰이 갖는 데이터를 말한다 (key : value 형태) Signauture : Header에 정의된 암호화 알고리즘을 통하여 암호화된 비밀 값 Secret Key값을 포함하여 암호화됨 1. hash 암호화 알고.. 항해 99 6일차 (알고리즘) 한문제 한문제 모두 정리하고 싶었으나 블로그에만 너무 투자하는 시간이 많을 것 같아 알고리즘 주차에는 최대한 기억에 남는 알고리즘 문제를 몇 문제만 작성해보려 한다. -2일차- 28문제 中 24 Clear Arrays class에 sort 함수를 사용하면 간단하게 해결되는 문제였으나 for문으로 한번 해결해보았다. 앞의 문제를 해결할 방법을 찾다 봤던 선택정렬 알고리즘이 너무 인상적이었고 이번 문제를 보자마자 바로 활용해봐야겠다 싶었다. 처음 사용해본 StrignBuffer가 인상적이었던 문제 StringBuffer class는 String과 달리 가변 클래스이기에 .append() , .revrerse() 등의 값을 변경하는 함수의 사용이 가능해진다. 문제를 봤을 때 바로 코드를 짜기보다. 주석으로 어.. 항해 99 5일차 (알고리즘) 알고리즘 주간의 첫날 새로운 팀원분들과 새로운 주제에 도전한다. 처음 마주한 알고리즘은 생각보다 머리를 많이 아프게 만들었지만 그럼에도 불구하고 잘 헤쳐나갈 수 있겠다는 생각이 들 때 까지 풀어나간 후 블로그로 마지막 정리를 해본다. -1일차- 28문제 中 11 Clear =직사각형 별찍기= =평균 구하기= =홀짝 출력하기= =가운데 숫자 가져오기= =문자열을 정수로 바꾸기= =핸드폰 번호 가리기= =없는 숫자 더하기= =두 정수 사이의 합= =x만큼 간격이 있는 n개의 숫자= =x만큼 간격이 있는 n개의 숫자= =행렬의 덧셈= 하나 하나 코드에대한 해석까지 정리하고 싶지만 알고리즘을 처음 접한 지금 내일을 위해 일찍 잠들 필요가 있을 것 같아 오늘은 힘들 것 같다.. 알고리즘을 처음 접하며 혼자서 완벽.. 항해 99 4일차 (개인 공부) 4시간 처럼 지나간 4일의 MiniProject가 끝난 후 내일부터 시작할 알고리즘 주간을 위해 java 기초를 처음부터 더 탄탄하게 알기위한 java공부로 하루 공부를 마무리했다. java project 설정 빌드 자동화 시스템이란? 개발자가 작업을 할 때 반복적으로 해야하는 코딩을 프로세스를 통하여 자동 실행하는 작업방식 라이브러리의 추가 및 버전의 동기화를 쉽게하기 위하여 등장했다. Gradle , Maven , ANT 등 1.Apache gradle -1 : JVM기반의 빌드도구이며 Ant 와 Maven의 보완버전 -2 : 기존의 Ant와 Maven 등과 같은 빌드 도구들과도 호환이 가능하다. 1.intelliJ에서 Gradle로 프로젝트 빌더를 설정 , 프로젝트를 생성한 모습 2.Main.Jav.. 이전 1 2 3 4 5 6 다음