이 글을 쓰게된 이유는 자바에 대해 처음부터 제대로 공부하기 위해 김영한님 자바 강의를 듣고 있는 중이다.자바 강의를 들으면서, 함수 정의에 대한 부분이 나왔고, 학부 시절에 C++ 강의를 들을 때 배웠던 swap 함수가 생각이 났다. 그래서 단순히 'JAVA에서는 swap을 어떻게 구현할까?'라는 생각이 들었다. C++에서는 참조형 변수를 받아서, 파이썬에서는 그냥 변수를 바꿔 대입해주면 된다.자바는 그럼 어떻게 구현할 수 있을까? 🔍 자바에서는 SWAP을 어떻게 구현할까?자바에서는 항상 변수의 값을 복사에서 대입한다. 위 내용을 명시하자.자바에서 변수에 값을 대입하는 것은 변수에 들어 있는 값을 복사해서 대입하는 것이다.기본형이면 변수에 들어 있는 실제 사용하는 값을 복사 해서 대입하고, 참조형이면..
자바의 컴파일 및 실행 과정에 대해 이미 알고 있지만, 더 정확하게 알고 오래 기억하기 위해 글을 작성하게 됐다!실제 어떤 기업 기술 면접을 볼 때, 실제 해당 부분에 대해 질문을 받기도 했다. 🔍 자바의 컴파일 & 실행 과정자바 프로그램은 다음과 같은 컴파일과 실행 단계를 거치게 된다.Hello.java와 같은 자바 소스 코드를 개발자가 작성한다.자바 컴파일러를 사용해 소스 코드를 컴파일 한다.이때, 자바가 제공하는 javac라는 프로그램을 사용한다..java 파일로 .class 파일을 생성한다.자바 소스 코드를 byte code로 변환하며 자바 가상 머신에서 더 빠르게 실행될 수 있게 최적화하고 문법 오류도 검출한다.자바 프로그램을 실행한다.자바가 제공하는 java라는 프로그램을 사용한다.자바 가상..
해당 글에서는 가장 큰 수 문제를 Python을 이용해 풀이하고자 한다. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔷 문제 설명 🔷 문제 풀이1️⃣ Python 풀이문제 자체는 간단하나, 풀이 방법이 신박해서 글을 작성하게 됐다.처음엔 문제를 보고, 문자열을 내림차순으로 정렬하면 될까 싶었지만 그렇게 하면 문제에서 의도한 것과 같이 정렬이 되지 않는다.[3, 30, 34]를 문자열 내림차순 정렬시 [34, 30, 3]이 된다.문제에 따르면 [34, 3, 30]이 되어야 한다. 그렇다면, 위에서 3이 30보다 ..
해당 글에서는 베스트앨범 문제를 JAVA와 Python을 이용해 풀이하고자 한다. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔷 문제 설명더보기 🔷 문제 풀이1️⃣ Python 풀이문제 자체는 어렵지 않지만, 구현이 복잡해서 레벨3인 문제가 아닐까 싶다.특히 파이썬에서는 딕셔너리에 대한 정렬을 제공하기 때문에 훨씬 편했다. 해당 문제에서는 카테고리를 통해 해시 문제라는 것을 알았기 때문에, 딕셔너리를 활용해야 함을 알 수 있었다. 딕셔너리를 다음과 같이 정보를 저장하고자 했다.key: genre(stri..