[Java] final 변수와 상수
·
Back-end/Java
❗해당 포스팅은 인프런에서 제공해주는 강의 내용을 개인적으로 정리하였음을 알려드립니다. 김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런김영한 | 실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문www.inflearn.comfinal을 지역 변수에 설정할 경우 최초 한번만 할당할 수 있다. 이후 변수 값 변경 시 컴파일 오류 발생❗public static void main(String[] args) { //final 지역 변수 final int data1; data1 = 10; //최초 한번만 할당 가능 //data1 = 20; //컴파일 오..
[Java] static 메서드
·
Back-end/Java
❗해당 포스팅은 인프런에서 제공해주는 강의 내용을 개인적으로 정리하였음을 알려드립니다. 김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런김영한 | 실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문www.inflearn.com 클래스 메서드: 메서드 앞에 static이 붙는 것. 정적 메서드 또는 클래스 메서드 라고 한다.클래스 메서드라는 용어는 인스턴스 생성 없이 클래스에 있는 메서드를 바로 호출하는 것 처럼 느껴지기 때문이다. 인스턴스 메서드 : static이 붙지 않는 메서드. 인스턴스를 생성해야 호출 가능하다. static 메서드는 static이 붙은 정적 ..
[Java] static 변수
·
Back-end/Java
❗해당 포스팅은 인프런에서 제공해 주는 강의 내용을 개인적으로 정리하였음을 알려드립니다. 김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런김영한 | 실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문www.inflearn.com지난번 자바 메모리 구조에서 스택영역에는 메서드 및 지역변수가, 힙영역에는 객체(인스턴스)가 관리된다는 것을 확인했다. 그렇다면 메서드 영역에서는 어떤 변수가 관리될까? 이를 이해하기 위해 우선 static 변수를 이해해야 한다. static 변수는 왜 필요할까..? 다음 예시를 확인해 보자package static1;public class ..
[Algorithm] 프로그래머스_모의고사(JAVA)
·
Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/42840?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr수포자 1,2,3의 고정값을 배열에 저장하고int[] student1 = {1, 2, 3, 4, 5}; int[] student2 = {2, 1, 2, 3, 2, 4, 2, 5}; int[] student3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; 맞힌 개수를 각각 answer[0], answer[1], answer[2]에 저장해 주고가장 정답을 많이 맞힌 max값을 구해다시 그 max값과 일치하는 값..
[Algorithm] 프로그래머스_게임 맵 최단거리(JAVA)
·
Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/1844?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr이 문제는 전형적인 bfs 문제가 아닐까 싶다.방문할때마다 이전 방문지 값에 +1을 해주고 최하단에 도착했을 때 값을 반환해준다.최하단에 이르지 못하는 경우에는 -1을 반환해준다. 대충 이러한 그림을 상상할 수 있다.이 경우 최하단에 도착했을 때 11이므로 11을 그대로 반환해주면 된다. 이를 구현한 코드는 아래와 같다.import java.util.*;class Solution { public int solution..
[Java] 자바 메모리 구조
·
Back-end/Java
❗해당 포스팅은 인프런에서 제공해 주는 강의 내용을 개인적으로 정리하였음을 알려드립니다. 김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런김영한 | 실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문www.inflearn.com자바 메모리 구조는 크게 메서드 영역, 스택 영역, 힙 영역 3개로 나뉜다.메서드 영역: 클래스 정보 보관.스택 영역: 실제 프로그램 실행 영역으로 메서드 실행 시 하나씩 쌓이는 공간.힙 영역: 객체(인스턴스)가 생성되는 영역으로 new 명령어를 사용하면 이 영역을 사용함. 배열도 이 영역을 사용. 스택영역의 예시를 보자package memo..
[Algorithm] 프로그래머스_체육복(JAVA)
·
Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krreverse와 lost를 정렬한다. answer의 초기값을 n-lost.length로 설정한다. 이중 포문을 사용하여 reverse와 lost가 겹치는 학생 번호가 있다면 해당 배열에 -1을 대입한다. 이후 reverse+1 또는 reverse-1이 lost에 존재한다면 answer++를 해주고 lost와 reserve에 -1을 대입한다. import java.util.*;class Solution { public int solution(..
[Algorithm] 프로그래머스_완주하지 못한 선수(JAVA)
·
Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krhashMap을 사용하여 participant 배열의 선수들을 key값으로 넣고 value에 해당 선수가 몇명인지 넣는다. 그 후 completion배열의 선수들에 대해 value값을 -1 해준다. 결과적으로 value값이 0이 아닌 선수를 return해준다. hashMap의 getOrDefault메서드를 사용하여 코드의 가독성을 높일 수 있다. getOrDefault(key, defaultValue) => key가 존재하면 기존 value값을,..
[Algorithm] 프로그래머스_네트워크(JAVA)
·
Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 이해 잘못해서 시간을 꽤 쓴 문제다. 처음엔 2차원 방문 배열이 필요하다고 생각했는데,각 컴퓨터의 방문 여부만 체크하면 되므로 1차원 배열으로도 충분함을 깨달았다. 0~n번까지의 컴퓨터가 있다면0번 컴퓨터부터 큐에 넣고 0번과 연결되어 있는 컴퓨터를 찾는다.그 컴퓨터를 큐에 넣는다.위 과정을 반복하는 로직을 구현하면 된다~ 이때, 0-1, 0-3, 3-2 가 연결되어 있다면 하나의 네트워크이다.computers : [[1, 1, 0, 1],..
[Algorithm] 프로그래머스_K번째수(JAVA)
·
Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제를 따라가며 구현하면 어렵지않은 문제!배열을 자르고 정렬하고 뽑아내면 됐다.. import java.util.*;class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i = 0; i  여기서 더 최적화하려면 Arrays.copyOfRange() 메서드를..