[백준 2941번] 크로아티아 알파벳 (실버 V) - Java/자바
문제 링크 알고리즘 분류: 구현, 문자 정답비율 44% (2023.06.13 기준) 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. 입력 첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳..
2023. 6. 13.
[DB/데이터베이스] 정규화(Normalization)란? 정규화의 종류와 예시 (1NF, 2NF, 3NF, BCNF, 4NF, 5NF)
관계형 데이터베이스(RDB)에서 정규화란 데이터의 중복을 최소화하여 구조화하는 과정을 말한다. 이는 일반적으로 크고 제대로 조직되지 않은 테이블 하나를 > 작고 제대로 조직된 테이블 여러 개로 나누는 것을 말한다. 정규화의 목표는 이상(anomaly)이 있는 테이블의 관계를 재구성해서 이상 현상을 제거하고, 중복된 종속성을 여러 테이블로 분할하여 효과적인 검색 알고리즘을 생성하는 등에 있다. 즉, 쉽게 설명하자면, 데이터의 일관성과 유연성은 높이고, 중복은 제거하여 논리적인 테이블 구조를 짜는 것이 정규화다. 정규화를 하게 되면 DB의 테이블 수는 많아지고, 각 테이블에 저장되는 데이터의 양은 적어진다. 이렇게 정규화가 된 데이터 모델에는 일관성, 안정성, 정확성, 단순성, 비중복성이 보장된다. 정보처리..
2023. 6. 11.