본문 바로가기

분류 전체보기131

6. 조건부 렌더링 출처 - 벨로퍼트 https://react.vlpt.us/basic/06-conditional-rendering.html 지금은 내용이 달라지는게 아니라, 단순히 특정 조건이 true이면 보여주고, 그렇지 않다면 숨겨주고 있는데요, 이러한 상황에서는 && 연산자를 사용해서 처리하는 것이 더 간편합니다. import React from 'react'; function Hello({ color, name, isSpecial }) { return ( {isSpecial && *} 안녕하세요 {name} ); } Hello.defaultProps = { name: '이름없음' } export default Hello; 단축 평가 논리 계산법 참조 props 값 설정을 생략하면 ={true} import Reac.. 2022. 6. 23.
5. props 를 통해 컴포넌트에게 값 전달하기 출처 https://react.vlpt.us/basic/05-props.html props 는 properties 의 줄임말입니다. 우리가 어떠한 값을 컴포넌트에게 전달해줘야 할 때, props 를 사용합니다. props의 기본 사용법 App.js ... return ( ) ... Hello.js import React from 'react'; function Hello(props) { return 안녕하세요 {props.name} } export default Hello; 여러개의 props 비구조화 할당 App.js import React from 'react'; import Hello from './Hello'; function App() { return ( ); } export default Ap.. 2022. 6. 23.
[백준] 해시를 사용한 집합과 맵 - 7785번 회사에 있는 사람 (Java) 문제링크 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 접근한 방법 해시맵 풀이방법 "enter"일 때는 hashmap에 값을 true로 넣어주고 "leave"일 때는 hashmap에 값을 false로 대체한다. hashmap을 배열로 변환하여 정렬을 수행한다. 소스코드 작성 방법 hashmap을 키는 String, 값은 Boolean으로 선언한다. StringTokenizer로 입력을 받아 "enter"일 때 key는 이름으로 값은 true로 put한다. "leave.. 2022. 6. 17.
해시맵 아..주 기본적인것만 다뤄본다.. 선언방법 HashMap hashmap = new HashMap(); 삽입 hashmap.put(key, value) 조회 hashmap.get(key) 키 포함여부 hashmap.containsKey(key) 해시맵 정렬 1. 키가 문자열일 때 키 기준으로 오름차순 정렬 key를 배열에 저장하여 정렬 Object[] key = hashMap.keySet().toArray(); Arrays.sort(key); for(Object s : key) { if(hashMap.get(s)) bw.write(s+"\n"); } 2. 키가 문자열, 값이 정수형일 때 먼저 값을 기준으로 내림차순으로 정렬하고 값이 같을 때는 키를 오름차순으로 정렬 map을 list에 저장하여 정렬 Lis.. 2022. 6. 17.
[백준] 문자열, 스택 - 4949번 균형잡힌 세상(Java) 혹시 ! 다음 문제를 공부하지 않으셨다면, 이 문제를 먼저 풀고 오시는 것을 추천드립니다 👍 2022.05.20 - [자료구조&알고리즘/스택] - [백준] 문자열, 스택 - 9012번 괄호 (Java) 문제링크 링크 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 접근한 방법 문자열, 스택 풀이방법 9012번 문제를 풀었다면, 대괄호처리하는 것만 추가해주면 된다. 여는 소괄호, 대괄호를 만나면 stack에 push 닫는 소괄호를 만났을 때 stack이 비어있거나 peek한 값이 여는 소괄.. 2022. 5. 20.
[백준] 문자열, 스택 - 9012번 괄호 (Java) 문제링크 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 접근한 방법 문자열과 스택을 사용 풀이방법 여는 괄호를 만나면 stack에 push 닫는 괄호를 만났을 때 stack에 여는 괄호가 존재한다면 stack의 값을 pop 여는 괄호가 없다면 실패처리 마지막으로 모든 탐색을 끝냈는데 stack에 남아있다면 실패처리 소스코드 작성 방법 스택과 성공 여부를 판단하는 변수 선언 charAt으로 차례로 각 문자를 탐색 .. 2022. 5. 20.
[백준] 조합 - 2309번 일곱 난쟁이 (Java) 문제링크 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 접근한 방법 - 조합 풀이방법 https://doongjeol.tistory.com/137?category=815887 참조 실수한점 다른 언어도 함께 공부하다보니, result = arr 이렇게 선언해버리는 실수를 하였다. 소스코드 import java.io.*; import java.util.Arrays; public class Q_2309_SevenDwarf { public static int[] result; public static int[] dwarf.. 2022. 2. 21.
[백준] 순열 - 10819번 차이를 최대로 (Java) 문제링크 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 접근한 방법 순열 풀이방법 https://doongjeol.tistory.com/136 참조 소스코드 import java.io.*; import java.util.StringTokenizer; public class Q_10819_MaxDiff { public static int[] data; public static int result; public static void permutation(int[] arr, int n, int r, boolean[] select.. 2022. 2. 21.
부분 집합 (Sub Set) 부분 집합 (Sub Set) $2^n$ 의 경우의 수를 갖는다. 소스 코드 import java.io.*; import java.util.ArrayList; import java.util.List; public class SubSet { public static void subSet(List list, int n, int depth) { if (depth == n) { System.out.println(list); return; } list.add(depth); subSet(list, n, depth + 1); list.remove(list.size() - 1); subSet(list, n, depth + 1); } public static void main(String[] args) throws IOE.. 2022. 2. 21.
조합 (Combination) 조합 (Combination) 서로 다른 n개의 원소 중 r개를 순서 없이 골라낸 것 서로 다른 n개 중 r개를 택하는 조합의 경우의 수는 아래와 같다. 소스코드 import java.util.Arrays; public class Combination { public static void combination(int[] arr, int n, int r, int depth, int idx) { if (depth == r) { System.out.println(Arrays.toString(arr)); return; } for (int i = idx; i < n; i++) { arr[depth] = i; combination(arr, n, r, depth + 1, i + 1); } } public static.. 2022. 2. 20.
순열 (Permutation) 순열 (Permutation) 서로 다른 것들 중 몇 개를 뽑아서 한 줄로 나열하는 것 서로 다른 n개 중 r개를 택하는 순열의 경우의 수는 아래와 같다. nPr = n * (n - 1) * ... * (n - r + 1) n이 12 이상일 경우부터 시간 복잡도가 급격히 상승한다. 소스코드 import java.util.Arrays; public class Permutation { public static void permutation(int[] arr, boolean[] selected, int depth) { if (depth == selected.length) { System.out.println(Arrays.toString(arr)); return; } for (int i = 0; i < sele.. 2022. 2. 20.
트리 트리란? 트리를 구성하는 요소는 노드(node)와 가지(edge)입니다. 각각의 노드는 가지를 통해 다른 노드와 연결되어있습니다. 루트 (root) : 트리의 가장 윗부분에 위치하는 노드 리프 (leaf) : 트리의 가장 아랫부분에 위치하는 노드 - 물리적으로 가장 아랫부분에 위치한다는 의미가 아니라 더 이상 뻗어나갈 수 없는 마지막에 노드가 위치한다는 의미 * 다른 용어로는 끝 노드(terminal node) 또는 바깥 노드(external node)라고도 합니다. 안쪽 노드 루트를 포함하여 리프를 제외한 노드를 안쪽 노드라고 합니다. * 다른 용어로는 끝이 아닌 노드(non-terminal node)라고도 합니다. 자식 (child) 어떤 노드로부터 가지로 연결된 아래쪽 노드 * 리프는 자식을 가질 .. 2021. 11. 6.
반응형