
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
function solution(s) {
var answer = '';
const arr = s.split(" ").map(x => +x)
var max = arr[0]
var min = arr[0]
for( i = 1; i < arr.length; i++){
if(arr[i] >= max){
max = arr[i]
}
if(arr[i] <= min){
min = arr[i]
}
}
answer = `${min} ${max}`
return answer;
}
주어지는 문자열을 split으로 배열을 만들고, 각 원소들을 string에서 number 형으로 변환한다.
최댓값과 최솟값을 배열의 첫 번째 요소로 설정한다.
배열의 두 번째 요소부터 탐색하며 최댓값과 최솟값을 비교한다. 해당 최댓값과 최솟값을 answer에 넣어준다.
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 길이 1 이상 200 이하인 문자열입니다.
s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
숫자는 단어의 첫 문자로만 나옵니다.
숫자로만 이루어진 단어는 없습니다.
공백문자가 연속해서 나올 수 있습니다.
function solution(s) {
return s.split(' ').map(word =>
word.charAt(0).toUpperCase() + word.substring(1).toLowerCase()
).join(' ')
}
split을 통해 단어별로 구분해준 후 toUpperCase로 첫 글자만 대문자로 변경 해준다. 이후 나머지 글자를 모두 toLowerCase를 통해 소문자로 변경해준다.

컴퓨터와 사용자가 의사소통하는 창구.

- 메모리 주소 레지스터(MAR) : 읽고 쓰기 위한 주 기억장치의 주소를 저장.
- 프로그램 카운터(PC) : 다음에 수행할 명령어의 주소를 저장.
- 명령어 레지스터(IR) : 현재 실행 중인 명령어를 저장.
- 메모리 버퍼 레지스터(MBR) : 주 기억장치에서 일겅온 데이터나 저장할 데이터를 임시로 저장.
- 누산기(AC, AcCumulator) : 연산 결과를 임시로 저장.
- 명령어 인출 - 제어부가 수행할 명령어 정보를 가지고 옴.
- 명령어 해독 - 명령어 정보를 인출 후 해독.(opcode라는 명령어 코드르 인출하고 opcode의 성격에 맞는 레지스터들을 준비시킴.)
- 실행 - 해독된 명령어 수행. (ex : 산술/논리 관련 연산이면 ALU가 주체가 되서 실행.)
- 반영 - 수행 결과를 반영함으로써 명령어 수행의 한 사이클이 끝남.


- 정적 메모리
- 전원이 공급되는 동안 내용이 지워지지 않음 - 재충전 필요 x
- 접근 속도가 빠르고 가격이 비쌈. => 캐시메모리나 레지스터로 사용됨.
- 동적 메모리
- 전원이 공급되도 주기적으로 재충전되야만 기억된 내용을 유지.
- 주로 대용량의 기억장치에 사용, 가격이 저렴.
- 주로 RAM이라 표현하는것(= 주 기억장치)은 거의 DRAM을 가리킴.
- 주기억장치가 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어온다.
- CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고 결과를 다시 주기억 장치에 저장한다.
- 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보내서 출력시킨다.
- CPU 내의 제어장치(CU)가 1~3번 과정에서 명령어가 순서대로 실행되도록 각 장치들을 제어한다

