전체 글
-
[백준]1037. 약수 (java, python)알고리즘/백준 2021. 4. 20. 02:07
📄 링크 약수 💡 문제 분석 어떤 양수 A의 진약수들이 주어질 때, A를 구하는 문제입니다 만약 A = 24라면, 12, 8, 6, 4, 3, 2가 들어올 것입니다. 여기서 규칙은, 처음과 끝을 짝지어서 곱하면 A가 된다는 것입니다. 예외 상황으로, A = 25같은 제곱수가 나온다면 약수가 한 개이기 때문에 따로 처리해줍니다 당연히 정렬이 되서 입력될 줄 알았는데, 아니었습니다. 먼저 정렬을 하고 풀이해줍니다. ⌨️ 코드 JAVA import java.util.Arrays; import java.util.Scanner; public class Q1037 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n..
-
[백준]1026. 보물 (java, python)알고리즘/백준 2021. 4. 20. 02:07
📄 링크 보물 💡 문제 분석 S를 가장 작게 만들기 위해서는 B배열의 가장 큰 수를, A배열의 가장 작은 수와 매칭해서 곱하면 됩니다 A와 B를 정렬해서, A는 작은 수부터, B는 큰 수부터 곱해나갑니다. ⌨️ 코드 JAVA import java.util.Arrays; import java.util.Scanner; public class Q1026 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] a = new int[n]; int[] b = new int[n]; for(int i = 0; i < n; i++) a[i] = sc.nextInt(); for(int ..
-
[백준]1021. 회전하는 큐 (java, python)알고리즘/백준 2021. 4. 20. 02:06
📄 링크 회전하는 큐 💡 문제 분석 리스트의 양 끝에서 삽입, 삭제를 해야 하기 때문에 연결리스트를 사용했습니다 목표 숫자의 인덱스를 리스트에서 찾고, 처음과 끝 중 가까운 곳으로 시프트합니다 파이썬에서는 리스트를 합치는 것이 쉽기 때문에 반복문을 돌리지 않고 한꺼번에 처리할 수 있었습니다 ⌨️ 코드 JAVA import java.util.LinkedList; import java.util.Scanner; public class Q1021 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int ret = 0; LinkedList li..
-
[백준]1018. 체스판 다시 칠하기 (java, python)알고리즘/백준 2021. 4. 20. 02:05
📄 링크 체스판 다시 칠하기 💡 문제 분석 W로 시작할 때와, B로 시작할 때를 나누어서 모든 경우를 전부 대조해봅니다 시간 복잡도 = O(M * N * 8 * 8) ⌨️ 코드 JAVA import java.util.*; public class Q1018 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] map = new String[50]; int N = sc.nextInt(); int M = sc.nextInt(); for(int i = 0; i < N; i++) map[i] = sc.next(); int ret = 64; for(int i = 0; i
-
기술 면접 - 객체 지향기술 면접 2021. 4. 20. 02:05
객체지향이란 현실에 존재하는 사물을 있는 그대로 모델링하여, 이들의 행위와 속성을 정의하고, 절차적이 아닌 객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계하는 방식 사물에 대해서는 객체라고 부르며, 해당 사물이 하는 행위를 메소드로 정의하고, 해당 사물이 가지는 속성을 변수라고 정의합니다 객체 지향의 4대 특성 캡슐화 객체의 속성을 보호하기 위해서 사용함 장점 객체 지향의 패러다임 중 하나인 추상화를 제공 실제로 메서드가 어떻게 동작하는지는 외부에서는 이해할 필요가 없으며, 이를 단순 호출만으로 해당 기능을 실행 할 수 있고, 이를 통해서 객체 단위로 프로그램 설계가 가능 재사용성 향상 한 객체에 관련된 속성 및 메서드는 모두 캡슐화의 형태로 제공됨으로, 객체의 모듈성과 응집도가 높아짐 유지보수 ..
-
기술 면접 - 데이터 베이스 (2)기술 면접 2021. 4. 20. 02:04
정규화 이상 현상이 발생하는 테이블을 수정하여 정상으로 만드는 과정 정규화를 하기 위해서는 테이블을 분석하여 기본키와 함수 종속성을 파악해야 함 함수 종속성 어떤 속성 A의 값을 알면 다른 속성 B의 값이 유일하게 정해지는 의존 관계를 '속성 B는 속성 A에 종속한다' 라고 함 A -> B라고 표기, A는 B의 결정자 정규화 과정 이상현상이 있는 릴레이션은 이상현상을 일으키는 함수 종속성의 유형에 따라 등급을 구분할 수 있음 릴레이션은 정규형이라는 개념으로 구분 제 1 정규형 릴레이션의 속성 값이 원자값이어야 한다 제 2 정규형 릴레이션 R이 제 1 정규형이고 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때 이상현상을 일으키는 속성을 분리한다 제 3 정규형 속성들이 이행적으로 종속되어 있는지 여부 이..
-
기술 면접 - 데이터 베이스 (1)기술 면접 2021. 4. 20. 02:02
데이터베이스 시스템 데이터 베이스 특징 실시간 접근성 계속적인 변화 동시 공유 내용에 따른 참조 DBMS의 장점 데이터의 독립성 물리적 독립성 : 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다. 논리적 독립성 : 데이터베이스는 논리적인 구조로 다양항 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다. 데이터의 무결성 여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 된다. 데이터의 보안성 인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다...
-
[백준]1016. 제곱 ㄴㄴ수 (java, python)알고리즘/백준 2021. 4. 19. 14:25
링크 제곱 ㄴㄴ수 문제 분석 min과 max값이 크지만 범위 자체는 100만이기 때문에 배열로 저장 가능합니다 에라토스테네스의 체와 비슷한 원리로 2부터 sqrt(max)까지 반복하며 제곱수들로 나누어지는지 확인합니다 인덱스 처리를 꼼꼼히 해줍니다 코드 JAVA import java.util.*; public class Q1016 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long min = sc.nextLong(); long max = sc.nextLong(); long count = max - min + 1; boolean[] chk = new boolean[(int)count]; int n = 2; ..