본문 바로가기

개발/기타18

Java에서 메소드의 parameter가 배열일 때 생기는 의문 알고리즘 문제풀이를 Java로 진행하다가 해결되지 않은 궁금증이 하나 생겨서 정리해 둡니다. 제가 C++로 알고리즘 문제풀이를 하던 당시에는 함수 (function)이 있었고, 이 함수가 필요로 하는 매개변수 (parameter)가 있었습니다. 이 매개변수는 단순한 int나 char형 값일 수도 있었지만, vector나 set이 넘어오는 경우도 있었습니다. 이 때 따로 포인터를 이용하여 call by reference로 지정해 주지 않는다면, 기본적으로 call by value로 매개변수를 받아서 수행하였습니다. Java에서 비슷한 방식으로 문제를 접근하다 보니 이해되지 않는 상황을 마주하게 되었습니다. 비슷하게 메소드를 작성하고, 이를 C++에서와 같은 방식으로 사용하였는데, 매개변수가 배열일 때는 제.. 2022. 1. 23.
IntelliJ 단축키 / 구문 정리 IntelliJ를 개인 개발용 메인 IDE로 쓰기 시작하며, 앞으로 사용할 주요 단축키 및 구문을 간단히 정리해 보고자 합니다. 현재는 모두 Java 개발 기준이며, 다른 언어와 공통된 단축키도 있을 수 있습니다. 차이점은 나중에 Kotlin 개발을 하게 되면서 따로 정리해 보기로... 단순히 글 작성을 위한 정리는 와닿지가 않으므로... 실제로 사용하면서 쓰게 되는 단축키와 단축구문을 중심으로 꾸준히 업데이트 될 예정인 글입니다. 마지막 수정일: 2022년 3월 14일 기본 단축키 및 예약어 예약어 역할 main, psvm public static void main (String[] args) {} sout System.out.println() soutv System.out.println() + 메소드.. 2022. 1. 22.
게임 프로그래밍 직군 면접을 준비한다면 2022.02.10 내용 추가: 저는 현재 게임 개발과는 무관한 직종에 종사하고 있는 개발자입니다. 이 글이 꾸준히 조회수가 나오고 있음에 비해, 충분한 전문성을 갖추지 못한 것 같아 늘 죄송스런 마음입니다. 취업준비 하던 시절에 게임 개발 직종에 지원하며 준비하던 내용을 정리한 것 뿐이니, 너무 맹신 마시고 참고만 하시면 좋겠습니다 --------------------- 게임 회사를 다수 지원해 보고, 그 중 면접을 몇 번 접한 바 있습니다. 면접은 크게 직군면접, 팀면접, 임원면접 세 개로 나눌 수 있겠으나 이렇게 세 번에 걸쳐서 면접을 보는 회사는 잘 없습니다. 제 경험상 직군면접을 생략하거나, 직군+팀면접 형태로 보는 경우가 꽤 되었습니다. 하지만 팀 면접이 아닌 직군 면접만을 보는 경우, 컴퓨터.. 2021. 7. 22.
[C++] 문자열 substr와 코딩 테스트에서의 활용 앞서 글에서 C++에서 특정 문자를 기준으로 문자열을 자르는 방법에 대해 다루었습니다 (링크). 문자열은 코딩 테스트에서 주요한 카테고리 중 하나로, 그 예시로 카카오 공채 기출문제를 보면 문자열을 다루는 문제들이 많이 나옵니다. 문자열 압축, 괄호 변환, 가사 검색 이번에는 C++의 substr 함수에 대해 다루어 보려고 합니다. C++ 공식 문서에는 다음과 같이 적혀 있습니다: 현재 문자열의 부분 문자열을 기준으로 새로운 문자열을 생성 및 초기화하고 이를 반환한다. string 변수형의 test 라는 변수가 있고, 내용은 "We study coding test.". 라고 합시다. (string test = "We study coding test.";) test.substr(인자 1, 인자 2) 와 같.. 2021. 4. 11.
[C++] 코딩 테스트에서 편하게 사용할 수 있는 문자열 자르기 저는 코딩 테스트에서 주로 C++을 사용합니다 (정말 가끔 Python도 사용하긴 합니다). 대학에서 1학년때부터 쭉 커리큘럼 상 C++이 중심이 되기도 했고 (객체지향프로그래밍, 자료구조, 알고리즘이 C++에 기반하였습니다), 이미 많이 익숙해져 있기 때문입니다. 보통 비전공자 출신이시거나 코테를 처음 준비하신다고 생각하면 저는 Python을 추천드립니다. 문법 익히는 난이도도 훨씬 쉽고, 문자열을 다루거나 각종 변수를 다루기에 훨씬 간단하며 작성하는 코드의 길이도 훨씬 짧습니다. 반대로 전공자라면, 저는 Python 이전에 C 혹은 C++를 먼저 공부해야 한다고 생각합니다. 컴퓨터과학 전공자 입장에서 C를 모른다는 것은 많은 부분을 이해할 수 없다는 말이 됩니다 (임베디드, 포인터, 메모리 주소 개념.. 2021. 3. 24.
[Git] Fork한 Repository 최신 내용 가져오기 GitHub에서 코딩 테스트 스터디에 최근 참여하고 있습니다. (학교 과제나 시험기간 때문에 바쁠 때에는 부득이하게 참여하지 못 하기도 합니다 ㅠㅠ) 그러면서 지금까지 단순히 온라인 저장소로만 사용했던 GitHub을, 다른 사람의 repository에 commit하는 방법을 간접적으로 접해보게 되었습니다. 제가 코딩테스트 스터디를 함께하고 있는 GitHub 주소는 다음과 같습니다: 링크 위 repository를 fork한 후, 시간이 조금 지나게 되면 아래와 같은 메세지를 볼 수 있습니다. 즉, 제가 fork한 repository가 원본에 비해 몇 단계 뒤쳐져 있다는 말입니다. 이를 최신 상태로 유지하려면, 원본 repository에서 최신 사항을 가져와야 합니다. 간단히 비유하자면, 우리가 쓰고 있는 .. 2020. 11. 5.