본문 바로가기

분류 전체보기407

[혼공운영체제] 1. 데이터와 명령어 인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약 1. 데이터 1. 0과 1로 숫자를 표현하는 방법 비트(bit) : 0과 1을 표현할 수 있는 가장 작은 단위 프로그램은 수많은 비트로 이루어져 있음 워드(word) CPU가 한 번에 처리할 수 있는 정보의 크기 단위 하프 워드(half word) : 워드의 절반 크기 풀 워드(full word) : 워드 크기 더블 워드(double word) : 워드의 두 배 크기 이진법 0과 1로 숫자 표현하기 숫자가 1을 넘어가는 시점에 자리올림 우리가 일상적으로 사용하는 진법은 숫자가 9를 넘어갈 때 자리올림하는 십진법 (decimal) 0과 1로 음수 표현하기 모든 0과 1을 뒤집고 1 더한 값 16진법.. 2023. 4. 6.
[혼공운영체제] 0.컴퓨터 구조의 큰 그림(컴퓨터 핵심 부품) 인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약 컴퓨터가 이해하는 정보 데이터 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 컴퓨터와 주고 받는/내부에 저장된 정보 명령어 컴퓨터를 실질적으로 움직이는 정보 데이터는 명령어를 위한 재료 컴퓨터의 네 가지 핵심 부품 1. 메모리 현재 실행되는 프로그램(프로세스)의 명령어와 데이터를 처리하는 부품 프로그램이 실행되기 위해서는 프로그램의 데이터와 명령어가 메모리 안에 저장되어 있어야 한다. 메모리의 저장된 값의 위치는 주소로 알 수 있다. 실행되고 있지 않은 프로그램은 보조기억장치에 저장되어 있다. 메모리 안의 주소를 통해 내가 필요한 명령어와 데이터가 어디에 위치해 있는지 알 수 있다. 2. CP.. 2023. 4. 5.
MSA란? Monolithic Architecture(모놀리식 아키텍처) 모놀리식 아키텍처는 마이크로서비스(MSA) 아키텍처에 반대되는 개념으로, 애플리케이션의 모든 구성 요소가 한 프로젝트에 통합되어 있는 형태 장점 단점 개발 초기에 단순한 아키텍처 구조로 인해 개발에 용이 프로젝트의 구조가 커짐에 따라 애플리케이션 구동 시간이 늘어나고 빌드 및 배포 시간이 길어짐 어떤 서비스든지 개발되어 있는 환경이 같아서 복잡하지 않음 조그마한 수정 사항이 있어도 전체를 다시 빌드하고 배포해야 함 배포 간단, 확장성이 쉬움(로드밸런스를 이용해 로드 부하를 나눠 가지는 방식으로 진행) 많은 양의 코드가 몰려 있어 개발자가 모든 코드를 이해하기 힘들고 유지보수가 어려움 쉽게 고가용성 서버 환경을 만들 수 있음 일부분의 오류가 전.. 2023. 4. 4.
[JAVA] H-index https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해하기 너무 힘들었다.. 다른 코드도 참고 하면서 이해하려고 노력했다.. 일단 정렬을 해야한다. Array.sort 대신 퀵정렬을 이용해서 풀었다..! 예시 citations [5, 4, 7, 1, 2] 정렬한 citations [1, 2, 4, 5, 7] 1(i)회 이상 인용된 논문이 5편(1,2,4,5,7) 2(i)회 이상 인용된 논문이 4편(2,4,5,7) 4(i)회 이상 인용된 논문.. 2023. 4. 4.
[JAVA] 가장 큰 수 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Arrays.sort(answerArr, (a, b) → (b+a).compareTo(a + b)); A.compareTo(B)는 A와 B가 같을 경우 0을 return, A가 B보다 클 경우 양수로 return, A가 B보다 작을 경우 음수로 return 앞에서부터 비교하다 다른 문자열이 나오면 ‘a-b’ 순서로 해당 문자의 아스키코드 값을 뺀 결과(int)를 리턴 내림차순 : (o2+o1).c.. 2023. 4. 4.
[JAVA] 추억점수 https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1.HashMap을 이용해서 풀기 2.삼중 for문을 이용해서 풀기 1. import java.util.*; class Solution { public int[] solution(String[] name, int[] yearning, String[][] photo) { int[] answer = new int[photo.length]; HashMap hm = new HashMap(); for(i.. 2023. 4. 4.