목록전체 글 (248)
일단 씻고 나가자
2023. 03. 09 목요일 - 별 찍기 다중 for문의 핵심 논리? : 바깥 for문의 I, 안쪽 for문의 j, 전체 줄 수의 n의 관계가 중요하다. I를 ++로 뒀다면 j는 점점 늘어나는 문자열에 대해선 I를 이용, 점점 줄어드는 문자열에 대해선 –i를 이용해야 한다. (단순히 등차라면 +, 등비라면 *) 이때 총 개수를 의미하는 n에 대해서도 적절히 사용해야 하는데, 특히 줄어드는 값에 대해서 “몇부터 시작해서 줄어들 것인가”의 몇에 해당하는 부분을 n으로 채워주자. 행(i) 관련하여 문자열이 증가하는가 감소하는가? -> 각 문자열의 초깃값은 무엇인가? 이해가 안 되면 그냥 숫자를 써놓고 문자로 치환하자. ex) I는 증가하는 값. j=0이고 j++이라면 결국 j
2023. 03. 08 수요일 - [Java] Set 배열로 바꾸는 방법? Integer Set을 int형으로 바꾸는 방법? : Set.toArray(new Ineteger[0]) // 원래는 괄호 안에 크기를 적어주어야 하지만, 저렇게 적으면 알아서 크기만큼 할당해 준다. // 이때는 Integer[] 가 된다. Set set = new HashSet(Arrays.asList(int[])); // 배열 -> Set Arrays.stream(Set.toArray(new Integer[0])).mapToInt(Integer::intValue).toArray(); // Integer 값을 모두 int로 바꿔야 하므로 map을 이용. https://gre-eny.tistory.com/25 - [Java] Co..

2023. 03. 07 화요일 - [Java] 달력 관련 클래스와 초기화 방법, 해당 달의 요일과 마지막 날을 아는 함수? : LocalDate LocalDate는 static이므로 초기화 방법은 LocalDate date = LocalDate.of(yyyy, mm, dd); 마지막 날을 return하는 함수는 date.lengthOfMonth() 해당 날의 요일을 아는 방법은 DayOfWeek 클래스를 사용하여 DayOfWeek dow = date.getDayOfWeek(); int dayNum = dayOfWeek.getValue();로 월요일부터 일요일까지 1~7 값이 매겨진다. - [Java] Math.random()의 범위 설정 방법? - [Java] printf나 String.format에서 ..

2023. 03. 06 월요일 - [Java] 콘솔 입력받는 방법 4가지? 1. System.in.read(); System.in.read(new byte[System.in.available()]); // 한 글자만 읽음. int로 받으려면 뒤에 -‘0’을 붙여줘야 함. // 엔터키를 쳐서 입력을 하는데, 이 방법은 엔터키가 잔류하므로 쓰지 않는다면 이후의 입력 코드에 영향이 간다. 따라서 뒤의 코드로 엔터를 소진시켜야 함. 2. InputStreamReader reader = new InputStreamReader(System.in); reader.read(char[]) // 여러 문자를 받아올 수 있지만 배열에 담아야 한다. 따라서 매개변수로 배열 입력. 배열 개수만큼 단어를 받는다. 3. Buffe..

2023. 03. 03 금요일 - [Java] String format을 사용하는 방법? 무조건 n의 자리를 맞추려면 어떻게 설정? : String.format( “”, var) 형태로 사용한다. “” 안에는 문자열과 뒤의 변수 내용을 출력할 그릇이 필요한데, 그 그릇은 %를 쓰고 변수형에 따라 다르게 사용한다. (ex. 정수라면 %d, 문자열이라면 %s) 출력되는 내용을 오른쪽으로 n의 자리로 맞추려면 (n이 2일 때 3 -> 03으로 출력해줌) 빈공간을 채울 값을 먼저 쓰고 총 몇 자리인지 작성 후 변수형을 써주면 된다. (ex. 3자리를 맞추며 빈자리는 0으로 정수형으로 쓰려면 %03d) * 왼쪽 자리로 맞추려면 숫자 앞에 –를 붙이면 된다. * 이때 값이 자릿수를 초과한다고 해도 잘리지 않고 잘 ..

2023. 03. 02 목요일 - 하드 디스크, 메인 메모리, 캐시 메모리와 CPU 사이의 관계? : 하드 디스크, 메인 메모리(RAM), 캐시 순서로 속도가 빨라지며, CPU가 접근하는 역 순서. - 캐시 메모리에의 저장 규칙 2가지는? 그것으로 말미암은 캐시메모리의 사용 이유와 정의? 1. 최근에 접근된 데이터 (시간적 지역성, Temporal Locality) 2. 최근에 접근된 데이터의 주변 데이터 (공간적 지역성, Spatial Locality) 한 번 접근된 데이터가 또 접근될 확률이 높다는 논리로 적용. 시간적, 공간적 지역성을 기반으로 가까운 미래에 접근될 확률이 높은 데이터를 작지만 빠른 캐시 메모리에 미리 보관하여 전체적인 시스템의 성능을 높임. 즉, 속도가 빠른 장치와 느린 장치에서 ..

2023. 02. 16 목요일 - CPU의 구성 3요소와 레지스터의 종류? 각각의 설명? : CPU – 연산장치(ALU), 제어장치, 레지스터 레지스터 – 범용 레지스터, 특수 목적 레지스터 * 연산 장치 – 산술, 논리 연산을 시행. * 제어 장치 – 명령어를 순서대로 실행할 수 있도록 제어. 명령어를 해석하고, 결과에 따라 기억 장치, 연산 장치, 입출력 장치로 보냄. * 레지스터 – 고속 기억 장치. 범용 레지스터 – 연산에 필요한 데이터나 연산 결과를 임시로 저장. 특수 목적 레지스터 – 특별한 용도로 사용하는 레지스터. +) 중요한 특수 목적 레지스터 프로그램 카운터 (PC) - 다음 수행할 명령어 주소 저장. 메모리 주소 레지스터(MAR) - 연산을 수행할 주기억장치 주소 저장. 메모리 버퍼 ..

2023. 02. 14. 화요일 - 객체지향 4대 특성은? : 캡슐화, 다형성, 추상화, 상속 - SOLID란 무엇이며 무슨 관점을 근거로 하는가? : 객체지향 3대 특성을 이용하여 객체지향을 올바르게 설계할 수 있도록 돕는 원칙. High Cohesion – Lose Coupling 원칙을 객체 지향의 관점에서 도입한 것이다. ( 강한 응집도, 약한 결합도. 하나의 클래스가 하나의 기능을 담당하고 있는 정도 / 클래스 간 서로 다른 책임들이 얽힌 상호 의존도) https://limkydev.tistory.com/77 - REST, REST API, RESTful이란 무엇이며 4가지 종류는? : REpresentational State Transfer 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는..