본문 바로가기

분류 전체보기166

투 포인터에 대해 (백준 2003,1806) 이것이 코딩테스트다는 정말 도움이 되는 책이다. 하지만 난 이 책을 처음 볼 때 상당히 조급한 상태였고, 빨리 이론을 훑고나서 그래프, 구현 등 메이저한 실전 문제를 풀고 싶었다. 그래서 부록을 공부하지 않고 건너뛰어 버렸다.. 지금 다시 펼쳐보니 부록에 있는 건 이제 대부분 아는 내용이긴 하다. 그런데 생소한 게 하나 있었는데, 바로 투포인터에 대한 내용이다. 투 포인터 투 포인터란 리스트에 순차적으로 접근해야 할 때 2개의 점의 위치를 기록하면서 처리하는 알고리즘을 의미한다. 예를 들어 1~10번 학생이 있을 때, "2번부터 7번까지 나와" 라고 하면 2번과 7번이라는 2개의 점을 이용해서 접근할 데이터의 범위를 표현한 것으로 볼 수 있다. 솔직히 이름 보면 이런 알고리즘이구나 정도는 예측 가능하다... 2022. 9. 19.
우테캠 5기 지원 후기 2차 코테를 망치고 머릿속에서 지워버리려고 했으나... 자려고 누웠더니 자꾸만 생각나서 이불 속에서 폰으로 작성하는 후기. 안드로이드 모집은 이번이 처음이었으니 언젠가 6기 지원자들이 이 글을 발굴해낸다면 도움이 될지도...? 1차 코딩테스트 솔직히 난 1차가 붙을거라고도 생각 못했다. 난 파이썬으로 코테를 준비해 왔는데 코테 언어가 자바/코틀린으로 제한되었기 때문이다... 그치만 못먹어도 고니까 지원했다ㅎㅎ 파이썬으로 갈아타고 광명얻기 전 2개월 정도 자바로 알고리즘을 풀어온 적이 있었기 때문에 코테용 자바를 급하게 복습했다. 다행히 문제가 어렵지 않아 4문제 중 3문제를 풀 수 있었다. 람다식써서 정렬하는게 정확히 기억이 안나서 이 경우 저 경우 대입해보며 뻘짓하느라 시간을 좀 날리는 바람에 4번은 .. 2022. 9. 19.
MVVM 패턴이란? MVVM 패턴은 프로그램을 설계하기 위한 하나의 방법론이다. 과거 구글의 코틀린 강좌를 들을 때도, 대놓고 MVVM 패턴이라고 명명해주진 않았지만 이 패턴을 사용해서 예제 앱을 만들었었다. MVVM의 구성 요소 Model:데이터와 데이터에 관련된 행위를 모두 합쳐 Model이라 부른다. View: 사용자에게 화면으로 보여지는 모든 구조, 레이아웃을 View라 부른다. View Model: View Model은 View 에 보여져야하는 데이터와 명령들을 가지고 있다. View 가 ViewModle 을 observe(관찰) 하는 형태로 binding 되어 있기 때문에, data 의 갱신을 View 가 자동으로 받을 수 있게 되어있다. 안드로이드에서의 MVVM ViewModel 과 View 는 MVP 패턴과 .. 2022. 9. 19.
클린코드 17장 (끝) 17장 냄새와 휴리스틱 🔎주석 부적절한 정보 이슈 추적, 소스코드 관리 등 다른 시스템에 저장할 정보는 주석으로 적절하지 않다. 이러한 내용은 괜히 소스 코드만 번잡하게 만든다. 쓸모 없는 주석 주석은 빨리 낡는다. 추후 쓸모 없어질 주석은 아예 달지 않는 편이 좋고, 쓸모 없어진 주석은 빨리 삭제해야 한다. 중복된 주석 코드만으로 충분한데 구구절절 설명하는 주석이 중복된 주석이다. 이런 주석은 필요가 없다. 주석 처리된 코드 이런 주석이 나오면 신경이 아주 거슬린다. 누군가에게 필요한 코드라고 생각해서 아무도 삭제하지 않고, 주석코드는 그 자리에서 하루하루 낡아간다...흉물 그 자체다! 얼른 지워버리자.(아무리 그래도 흉물이라니..이 책 넘 막말심함ㅠㅠ) 🔎환경 여러 단계의 빌드 필요한 파일을 찾느라 .. 2022. 9. 19.
[cs 정리]운영체제 1. 운영체제란 무엇인지 설명해주세요 운영체제 ( Operating System )는 컴퓨터 하드웨어와 소프트웨어 자원을 관리하는 시스템 소프트웨어입니다. Windows, Linux, Mac 등이 운영체제에 속합니다. 2. 프로세스와 스레드의 차이를 설명해주세요 프로세스는 운영체제로부터 자원을 할당받은 작업의 단위를 말합니다. 반면 스레드는 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위를 말합니다. 프로세스는 다른 프로세스의 메모리 공간에 접근할 수 없으나, 스레드는 Code, Data, Heap영역은 공유한다.(stack은 공유x) 🔎스레드가 스택만 공유 안하는 이유는, 후입 선출이라는 스택의 특성상 공유했다가 너무 복잡해지기 때문이라고 한다.. 운영체제로부터 자원을 할당받은 작업의 단위 cpu.. 2022. 9. 19.
자바에서 큐의 사용 자바는 코테용으로 쓰는것도 아니고, 개발할 때는 큐를 쓸 일이 지금까지 별로 없었어서 사용법을 잘 모르고 있었는데 이참에 정리해본다. Queue queue = new LinkedList(); //int 배열형 큐 선언(코테에서 가장 많이쓰게 될것...) Queue queue = new LinkedList(); //int형 queue 선언 Queue queue = new LinkedList(); //String형 queue 선언 값 추가하기 queue.add(1); queue.add(new int [] {i,j}); 값 가져오기 int temp []=q.poll(); 큐에 값이 있는 동안 반복 while(!queue.isEmpty()) { } 일단은 요정도 알면 사용할 수 있을 듯하다. 2022. 9. 19.
반응형