본문 바로가기

분류 전체보기

(308)
[Kotlin] 패키지: 패키지 개요 + 항공대학교 김철기 교수님의 객체 지향 프로그래밍 과목 내용를 정리한 글입니다. 패키지란 - 코틀린 프로그램을 계층화하여 체계적으로 관리하는 방법이다. => 기능과 목적에 따라 분류할 수 있다! + 사용했던 이름을 재사용할 수 있다는 장점도 존재한다. (다른 파일에 있기 때문) - 코틀린 코드를 담고 있는 디렉토리 구조와 일치한다. package foo.bar.util fun readInt(radix: Int) = readLine()!!.toInt(radix) // 디렉토리 구조상 foo/bar/util 디렉토리에 저장된다. // foo 패키지 내의 bar패키지 내의 util 패키지에 속하게 된다. - 현재 파일의 디렉토리 구조와 코드가 일치하지 않는다면, 드래그 + alt + enter를 통해 구조를..
[Python] 내 아이가 다른 인종은 아닐거야 .. 문제 한창 생물학 공부 중이던 민서는 유전 파트 문제를 풀다가 머리에 쥐가 나버렸다. 그걸 지켜보던 '똑똑한' 상신이는 마음이 안쓰러워 대신 풀어줄 수 있는 간단한 프로그램을 작성하려고 한다. 다인자 유전이란 하나의 형질에 여러 대립 유전자가 관여하여 복합적으로 작용하여 하나의 형질에 관여하는 것이다. 아버지의 유전자와 어머니의 유전자를 입력 받고, 태어날 수 있는 아이가 다인자 유전을 통해 우성 유전자를 몇 개 가질 수 있는지, 밝은 피부 또는 어두운 피부로 태어날 확률은 얼마나 되는지 확률을 구해주자. + 아버지와 어머니는 3쌍의 유전자를 갖고 있다. 예제 입출력 코드 import sys input = sys.stdin.readline def cnt_upper(arr): cnt = 0 for ch i..
[백준/python] 2167번: 2차원 배열의 합 문제 https://www.acmicpc.net/problem/2167 2167번: 2차원 배열의 합 첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 www.acmicpc.net 문제 요약 N × N 크기의 2차원 배열을 입력 받고, 위치 (i, j) 부터 (x, y) 까지 있는 수들의 합을 출력한다. + (i, j), (x, y)는 배열의 i(x)번째 행, j(y)번째 열을 의미한다. (1부터 시작) 코드 import sys input = sys.stdin.readline N, M = map(int, input().rstrip().spl..
[백준/python] 17951번: 흩날리는 시험지 속에서 내 평점이 느껴진거야 문제 https://www.acmicpc.net/problem/17951 17951번: 흩날리는 시험지 속에서 내 평점이 느껴진거야 시험지를 12, 7, 19, 20과 17, 14, 9, 10 으로 나누면 맞은 문제 개수의 합의 최소는 50이다. www.acmicpc.net 문제 요약 N개의 시험지를 K개의 그룹으로 나눈다. 각 그룹에서 맞은 문제 개수의 합을 구하여 그 중 최솟값이 시험 점수가 된다. 시험 점수가 최대가 되도록 하는 그룹을 찾고 최대 점수를 출력한다. + 시험지는 반드시 현재 순서 그대로 그룹으로 나누어야한다. (정렬 X) 코드 N, K = map(int, input().split()) # N은 시험지 개수, K는 시험지를 나눌 그룹 수 arr = list(map(int, input()..
[백준/python] 2343번: 기타 레슨 문제 https://www.acmicpc.net/problem/2343 2343번: 기타 레슨 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경 www.acmicpc.net 문제 요약 N개의 강의 영상들을 같은 크기 M개의 블루레이에 저장할 때, 가능한 블루레이의 크기 중 최소 크기를 출력한다. + 강의를 블루에이에 저장할 때 강의의 순서가 바뀌면 안된다 (정렬 X) 코드 N, M = map(int, input().split()) arr = list(map(int, input().split())) start = 0 end = sum(arr) # 이진 탐색 범위 res ..
[백준/python] 16401번: 과자 나눠주기 문제 https://www.acmicpc.net/problem/16401 16401번: 과자 나눠주기 첫째 줄에 조카의 수 M (1 ≤ M ≤ 1,000,000), 과자의 수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 과자 N개의 길이 L1, L2, ..., LN이 공백으로 구분되어 주어진다. 과자의 길이는 (1 ≤ L1, L2, ..., LN ≤ 1, www.acmicpc.net 문제 요약 길이가 L인 막대 과자 N개가 있을 때, M명의 모든 조카들에게 같은 길이의 막대 과자를 나누어 줄 수 있다. 이 때 나누어 줄 수 있는 가장 긴 막대 과자의 길이를 출력한다. + 막대 과자는 길이와 상관없이 여러 조각으로 나누어 질 수 있지만, 과자를 하나로 합칠 수는 없다. 코드 M, N = ..