Peony의 기록 창고 🌼
[Algorithm] 백준 1157번_단어공부(Java)
Algorithm/백준 [BOJ] 2022. 6. 16. 17:38

백준 1157번 단어공부 https://www.acmicpc.net/problem/1157 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 접근 방법 및 풀이 배열을 사용해도 되지만, HashMap의 getOrDefault를 사용해서 풀이하였다. getOrDefault 이란? : 찾는 키가 존재한다면 찾는 키의 값을 카운팅하..

[React] Hooks
React 2022. 5. 2. 10:09

useEffect useEffect : 리액트 컴포넌트가 렌더링될 때마다 특정 작업을 수행하도록 설정할 수 있는 Hook이다. 클래스형의 컴포넌트의 componentDidMount와 componentDidUpdate를 합친 형태로 보아도 무방하다. 예제 //Info.js import { useState, useEffect } from "react"; const Info = () => { const[name, setName] = useState(''); const[nickname, setNickname] = useState(''); useEffect(() => { console.log('렌더링이 완료되었습니다.'); console.log({ name, nickname }); }); const onChang..

[Algorithm] 백준 11723번_집합(Java)
Algorithm/백준 [BOJ] 2022. 4. 8. 01:06

11723 집합 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 문제 비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오. add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다. remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다. check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20) toggle x: S에 x가 있으..

article thumbnail
[Java] 비트(bit)와 비트마스크(bit mask)
JAVA 2022. 4. 8. 01:01

비트 (bit) 비트(binary digit) : 데이터를 나타내는 최소 단위이다. 모든 데이터는 0과 1의 조합으로 구성되는데, 이 0또는 1이 하나의 비트이다. 1개의 비트는 두 가지 상태를 나타낼 수 있으므로, n비트 정수형 변수는 2^0 ~ 2^n-1까지 표현할 수 있다. 비트 연산자 AND 연산 (&) : 대응하는 두 비트가 모두 1일 때 1 반환 OR 연산 (|) : 대응하는 두 비트 중 하나라도 1이라면 1, 아니면 0 반환 XOR 연산 (^) : 대응하는 두 비트가 다르면 1, 같으면 0을 반환 NOT 연산 (~) : 비트의 값을 반전 Shift 연산 () : 왼쪽 또는 오른쪽으로 비트를 이동 쉬프트 연산에서 중요한 점 한가지는 바로 자리수다.int는 32bit 길이를 갖지만 첫 번째 비트..

[Algorithm] 백준 1931번_회의실 배정(Java)
Algorithm/백준 [BOJ] 2022. 4. 6. 02:19

1931 회의실 배정 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회의의 수 ..

[OS] 프로세스& 커널& 컴퓨팅 환경
OS 2022. 3. 26. 00:16

프로세스 관리 프로세스(Process) 실행중인 프로그램, 하나의 작업이나 하나의 시분할 프로그램으로 생각 가능 시스템 내의 작업 단위로 사용 자신의 일을 수행하기 위해 여러 자원 필요(CPU 시간, 메모리 파일, I/O장치 등) 다중 스레드 프로세스 : 복수개의 프로그램 카운터를 가지고 있으며, 이 카운터들은 각 스레드가 실행할 다음 명령어를 가리킴 프로세스 종류 운영체제 프로세스 : 시스템 코드를 수행하는 프로세스 사용자 프로세스 : 사용자 코드를 수행하는 프로세스 모든 프로세스 간에 하나의 CPU를 다중화 함으로써 병행 수행 주의) 프로그램(Program) 그 자체는 프로세스 X 프로그램 : 수동적 개체(Passive Entity) 프로세스 : 능동적 객체(Active Entity) (PC : 프로..

[OS] 컴퓨터 시스템 & 운영체제 구조
OS 2022. 3. 25. 21:47

컴퓨터 시스템 구조 1. 단일 처리기 시스템(Single-Processor System) 대부분의 시스템 : 하나의 처리기를 이용 -> 범용 CPU가 하나 있는 시스템 범위가 넓고, 다양 2. 다중처리기 시스템(Multiprocessor System) 밀접한 통신을 하는 둘 이상의 처리기들을 가지며, 컴퓨터 버스, 클록, 메모리와 주변장치를 공유 장점 증가된 처리량 : 작업 속도 증가 규모의 경제 : 비용 절약(경제성) 증가된 신뢰성 : 한 처리기의 고장이 시스템 정지를 의미하지 X 시스템 구성 비대칭 다중 처리(Asymmetric Multiprocessing) 주 처리기 : 작업을 스케줄, 종속 처리기에 작업을 할당 ( 주 처리기만 OS를 수행) 다른 처리기 : 주 처리기의 명령 수행, 미리 정의된 태..

[Algorithm] 백준 5567번_결혼식(Java)
Algorithm/백준 [BOJ] 2022. 3. 23. 22:24

5567번 결혼식 https://www.acmicpc.net/problem/5567 문제 상근이는 자신의 결혼식에 학교 동기 중 자신의 친구와 친구의 친구를 초대하기로 했다. 상근이의 동기는 모두 N명이고, 이 학생들의 학번은 모두 1부터 N까지이다. 상근이의 학번은 1이다. 상근이는 동기들의 친구 관계를 모두 조사한 리스트를 가지고 있다. 이 리스트를 바탕으로 결혼식에 초대할 사람의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이의 동기의 수 n (2 ≤ n ≤ 500)이 주어진다. 둘째 줄에는 리스트의 길이 m (1 ≤ m ≤ 10000)이 주어진다. 다음 줄부터 m개 줄에는 친구 관계 ai bi가 주어진다. (1 ≤ ai < bi ≤ n) ai와 bi가 친구라는 뜻이며, bi와 ai도 친..

article thumbnail
[React] 컴포넌트 반복
React 2022. 3. 21. 21:48

자바 스크립트 배열의 map() 함수 자바 스크립트 배열 객체의 내장 함수인 map 함수를 사용하여 반복되는 컴포넌트를 렌더링할 수 있다. map 함수는 파라미터로 전달된 함수를 사용해서 배열 내 각 요소를 원하는 규칙에 따라 변환한 후 그 결과로 새로운 배열을 생성한다. 문법 arr.map(callback, [thisArg]) callback : 새로운 배열의 요소를 생성하는 함수 currentValue : 현재 처리하고 있는 요소 index : 현재 처리하고 있는 요소의 index값 array : 현재 처리하고 있는 원본 배열 thisArg(선택항목) : callback 함수 내부에서 사용할 this 레퍼런스 예제 //IterationSample.js const IterationSample = () ..

article thumbnail
[React] 이벤트 핸들링
React 2022. 3. 18. 14:25

리액트의 이벤트 시스템 사용자가 웹 브라우저에서 DOM 요소들과 상호 작용하는 것을 이벤트(event)라고 한다. 리액트의 이벤트 시스템은 웹 브라우저의 HTML 이벤트와 인터페이스가 동일하기 때문에 사용법이 꽤 비슷하다. 이벤트 사용 시 주의 사항 이벤트 이름 : 카멜 표기법으로 HTML에서는 onclick 으로 작성하지만 리액트에서는 카멜 표기법으로 onClick 으로 작성해야 한다. 이벤트에 함수 형태의 값을 전달 HTML에서 이벤트를 설정할 때 큰따옴표 안에 실행할 코드를 넣었지만, 리액트에서는 함수 형태의 객체를 전달한다. 화살표 함수 문법을 사용하거나 혹은 외부에 미리 함수를 만들어서 전달하기도 한다. DOM 요소에만 이벤트를 설정할 수 있다. -> 클릭할 때 doSomething함수를 실행하..