항해99 (44) 썸네일형 리스트형 항해99 10일차 , 11일차 =알고리즘 마지막 2일= 알고리즘 주간의 마지막 이틀을 보냈다. 첫주차 미니 프로젝트보다 많이 정적인 한주였으나 좋은 팀원분들을 만나 즐겁게 웃으며 보낸 한주였다. 단순 알고리즘을 푸는 것 만이 아닌 알고리즘을 풀어보고 다른 사람들의 답안을 보며 배워보고싶은 자바 문법과 스킬들을 찾고 정리하는 시간이 스스로 굉장히 큰 도움이 됐던 것 같다. = 알고리즘 주간 마지막 테스트 = 문자열 "1012341234"의 인자 값을 문자열 "010-1234-1234"의 형태로 리턴하는 메서드를 만들어주세요 String 형태로 들어온 매개변수 phone을 phone.split("") 함수를 통해서 한글자씩 쪼게 String배열에 담아줬다. 0,-,- 이 배열에 들어가야하기 때문에 ArrayListType의 빈 배열을 선.. public static void main(String[] args)의 의미 public static void main(String[] args) Intellij로 java를 공부하고 사용하면서 public class Main 코드블럭 내부에 로직을 작성하고 Run해서 내가 작성한 코드를 확인했다. 자바정리 포스팅의 첫번째는 항상 아무 생각없이 마주했던 main함수를 뜯어보는걸로 시작해보려한다. public static void main(String[] args) main method 간단하게는 자바의 규칙이라한다. 프로그램 실행시 반드시 main메서드가 먼저 실행되어야하는 규칙이다. 내가 실행시키고 싶은 로직이 있다면 반드시 public static void main(String[] args){} 중괄호 내부에 로직을 위치시켜야 한다. public 접근제어자로 접근에 제한이 없.. 프로그래머스 Lv1 로또의 최고 순위와 최저 순위 import java.util.*; class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; //두 배열의 값이 같을 때 , lottos 배열의 값이 0일 때 , 최종적으로 -해줄 때 사용할 객체의 선언 //6개 번호가 모두 일치할 때의 값이 1이기 때문에 rank는 7로 선언한다. int match = 0; int zero = 0; int rank = 7; //배열의 값을 비교하기에 앞서 오름차순으로 두 배열을 정렬 Arrays.sort(lottos); Arrays.sort(win_nums); //반복문으로 두 배열의 값을 비교하며 두 배열의 값이 같으면 match가 1씩 더해진다. f.. 프로그래머스 Lv1 두개 뽑아서 더하기 class Solution { public Set solution(int[] arr) { Set set = new TreeSet(); for (int i =0 ; i < arr.length ; i++){ for (int j = 0; j < arr.length; j++) { if(i == j) { continue; } set.add(arr[i] + arr[j]); } } return set; } } Set set = new TreeSet(); -Set- 저장 순서가 유지되지 않는다. 반복문과 인덱스를 통하여 Set의 탐색이 불가능해 Iterator를 사용해야한다. 객체의 중복을 자동으로 제거해준다. -TreeSet- 이진 탐색트리 형태로 데이터를 저장하며 데이터의 추가 , 삭제는 다른 Set Collect.. 프로그래머스Lv1 같은 숫자는 싫어 import java.util.*; public class Solution { public int[] solution(int []arr) { //ArrayList 객체를 하나 생성 ArrayList arrayList = new ArrayList(); //arr을 arrayList에 할당해줄 반복문 생성 for (int i = 0 ; i < arr.length ; i++){ if (i == 0){ //1번째 값과 비교하며 나아가기 위하여 미리 1번째 값을 할당해준다. arrayList.add(arr[0]); }else{ //arrayList.size()-1을 index한 객체를 가져와 arr[i]와 비교 //같지않을 경우에만 할당해준다. if(arrayList.get(arrayList.size()-1) !.. 프로그래머스 Lv1 최소 직사각형 첫번째 오답 import java.util.*; class Solution { public int solution(int[][] sizes) { //Arrays로 합치고 sort로 정렬 중간을 인덱스해서 두개의 배열로 짼다 //큰 배열의 가장 큰 값 작은 배열의 가장 작은값 int answer = 0; int[] arr = new int[sizes.length * sizes[0].length]; //i는 4까지 증가 for (int i = 0 ; i < sizes.length; i++){ //j는 1까지 증가 for (int j =0 ; j 프로그래머스 Lv1 하샤드 수 기존 풀이 class Solution { public boolean solution(int x) { boolean answer = true; String typeStr = String.valueOf(x); String[] strArr = typeStr.split(""); int share = 0; //파라미터를 나눈 arr의 각 객체를 다른 객체에 넣어줘야함 for (int i = 0 ; i < strArr.length ; i++){ share += Integer.parseInt(strArr[i]); } if(x % share == 0){ answer = true; }else{ answer = false; } return answer; } } 뜯어보기 public class Solution{ privat.. 프로그래머스 Lv1 콜라츠 추측 class Solution { public int solution(int num) { long numL = (long)num; int count = 0; while(1 < numL) { numL = numL % 2 == 0 ? numL / 2 : (numL * 3) + 1; count++; System.out.println(count); if (500 이전 1 2 3 4 5 6 다음