분류 전체보기
백준 1747번 자바
문제 https://www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net 1. 접근 방식 먼저 소수는 에라토스테네스의 체를 이용해 구해주고 팰린드롬수를 어떻게 찾느냐에서 방법이 크게 두가지로 갈린다. 첫번째는 많은 블로그에서 기술한 문자 비교방식이다.(투포인터를 활용해 시작과 끝값을 하나씩 비교해준다) 두번째는 내가 사용한 방식인데 10으로 나눈 나머지를 StringBuilder를 활용해 거꾸로 더해주는 방식이다. 수의 범위가..

TIL - 0218
1. 자바 플레이 그라운드 with TDD, 클린 코드 미학습 2. 혼자서 공부하는 컴퓨터 구조 + 운영체제 * 보조기억장치 하드 디스크(HDD) - 대표적인 보조기억 장치중 하나 - 자기적인 방식으로 데이터를 저장해 자기 디스크(magnetic disk)라고도 부른다. - 플래터 : 실질적으로 데이터가 저장되는 곳. 자기물질로 덮여 수많은 N극과 S극을 저장. 양면 사용 - 스핀들모터 : 플래터를 회전시키는 부품 - 헤드 : 플래터에 데이터를 읽고 쓰는 부품 - 액츄에이터 암(디스크암) : 헤드의 위치 조정 - 위 그림처럼 플래터는 한 장이 아닌 여러장을 겹친 상태 - 섹터 : HDD의 가장 작은 전송 단위 - 트랙 : 플래터를 동심원으로 나누었을 때 원중 하나 - 실린더 : 여러겹의 플래터에 같은 트..

TIL - 0217
1. 자바 플레이 그라운드 with TDD, 클린 코드 미학습 2. 혼자서 공부하는 컴퓨터 구조 + 운영체제 * 메모리의 주소공간 논리주소 - CPU와 실행 중인 프로그램 - 프로그램마다 같은 논리 주소가 존재 할 수 있다. 물리주소 - 실제 메모리 하드웨어가 사용 주소 공간을 물리, 논리 주소로 나누는 이유는 논리주소가 없을 경우 모든 프로세스가 물리주소에 직접 접근이 가능하게 되고, 서로 다른 프로세스들이 같은 주소공간을 침범할 수 있게 된다. 물리 주소와 논리 주소는 메모리관리 장치(Memory Management Unit)을 통해 변환된다. 베이스 레지스터 : 프로그램의 가장 작은 물리주소(해당 프로그램의 첫번째 물리주소) MMU의 원리는 베이스 레지스터 + 논리주소 = 물리주소 이다.(논리주소가..
프로그래머스 호텔대실 자바
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 방식 해당 문제의 시간을 시, 분 따로 나눠서 범위를 정하면 문제가 꽤나 복잡해진다. 그래서 (시간 * 60분 + 분)으로 전체시간을 분으로 변환 해주고 입실~퇴실 범위에 값을 누적해주면된다. 다만 매번 입실~퇴실 시간의 범위에 반복문을 돌려 값을 누적하기엔 시간복잡도가 증가한다. 입실 시간엔 +1, 퇴실 시간엔 -1의 값을 대입해 준 뒤 배열을 누적합 해주고 최대값을 반환..
TIL - 0216
1. 자바 플레이 그라운드 with TDD, 클린 코드 Optional 사용법 및 사용 이유 Stream.of() 와 Arrays.stream() 의 차이점(상세내용은 아래) https://www.geeksforgeeks.org/difference-between-stream-of-and-arrays-stream-method-in-java/ Difference between Stream.of() and Arrays.stream() method in Java - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programmi..
프로그래머스 카드뭉치 자바
1. 문제 * 문제설명 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다. 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. 한 번 사용한 카드는 다시 사용할 수 없습니다. 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다. 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때 ["i", "want", "to", "drink", "water"] 순서의 단어 배열을 만들려고 한다면 첫 번째 카드 뭉치에서 "..