[백준] 9257 - 1의 개수 세기
·
📖코딩테스트/BOJ
문제두 자연수 A, B가 주어졌을 때, A ≤ x ≤ B를 만족하는 모든 x에 대해 x를 이진수로 표현했을 때 1의 개수의 합을 구하는 프로그램을 작성하시오.즉, f(x) = x를 이진수로 표현 했을 때 1의 개수라고 정의하고, 아래 식의 결과를 구하자. 입력첫 줄에 두 자연수 A, B가 주어진다. (1 ≤ A ≤ B ≤ 10^16)출력1의 개수를 세어 출력한다.예제 입력2 12예제 출력21해결 방법import sysinput = sys.stdin.readlinex,y = map(int,input().split())def func(n): count = 0 k = 0 while 2**k
[백준] 5430 - AC
·
📖코딩테스트/BOJ
문제선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다. 함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다. 함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. 예를 들어, "RDD"는 배열을 뒤집은 다음 처음 두 수를 버리는 함수이다. 배열의 초기값과 수행할 함수가 주어졌을 때, 최종 결과를 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 최대 100이다. 각 테스트 케이스의 ..
[백준] 2166 - 다각형의 면적
·
📖코딩테스트/BOJ
문제2차원 평면상에 N(3 ≤ N ≤ 10,000)개의 점으로 이루어진 다각형이 있다. 이 다각형의 면적을 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.출력첫째 줄에 면적을 출력한다. 면적을 출력할 때에는 소수점 아래 둘째 자리에서 반올림하여 첫째 자리까지 출력한다.예제 입력 140 00 1010 1010 0예제 출력 1100.0해결 방법신발끈 공식을 통해 구할 수 있다. import sysinput = sys.stdin.readlinen = int(input())num_list = [list(map(int, input().split())) for _ in..
[백준] 19598 - 최소 회의실 개수
·
📖코딩테스트/BOJ
문제서준이는 아빠로부터 N개의 회의를 모두 진행할 수 있는 최소 회의실 개수를 구하라는 미션을 받았다. 각 회의는 시작 시간과 끝나는 시간이 주어지고 한 회의실에서 동시에 두 개 이상의 회의가 진행될 수 없다. 단, 회의는 한번 시작되면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작 시간은 끝나는 시간보다 항상 작다. N이 너무 커서 괴로워 하는 우리 서준이를 도와주자.입력첫째 줄에 배열의 크기 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다. 시작 시간과 끝나는 시간은 231−1보다 작거나 같은 자연수 또는 0이다.출력첫째 줄에 최소 회의실 개수를 출력한다.예제 입력..
[디자인 패턴] 디자인 패턴이란?
·
🖥CS/디자인패턴
🍀 디자인 패턴이란?디자인 패턴 (Design Pattern)은 소프트웨어 개발에서 자주 발생하는 문제를 효율적으로 해결하기 위해 사용되는 "검증된 일반적인 설계 방법" 을 정리한 것을 의미한다. 🍀 디자인 패턴의 목적소프트웨어 설계에서 공통으로 발생하는 문제에 대한 모범 사례개발의 효율성, 유지 보수성, 운용성을 높이고 프로그램 최적화에 기여함 🍀 디자인 패턴의 주요 장점재사용성 : 반복적인 문제에 대한 일반적인 해결책 제공가독성 : 명확하고 일관된 구조로 코드 이해가 용이함유지보수성 : 모듈화된 코드로 쉬운 수정 가능확장성 : 기존 코드의 변경 없이 새로운 기능 통합 🍀 디자인 패턴의 분류생성 패턴 ( Creational Pattern )객체의 생성과 관련된 패턴객체 생성 및 조합을 캡슐화하여..
[백준] 1684 - 같은 나머지
·
🤔알고리즘
문제정수 N을 정수 D로 나눴을 때의 몫을 Q, 나머지를 R이라고 하면 항등식 R = N - Q×D가 성립한다. n개의 정수로 된 수열이 있을 때, 모든 정수를 한 정수 D로 나눴을 때 나머지가 같아지는 경우가 있다. 그리고 수열에 따라서는 이러한 정수 D가 여러 개 존재할 수 있다. n개의 정수로 된 수열이 주어졌을 때, 가장 큰 D를 구하는 프로그램을 작성하시오.입력수열에 따라서는 이러한 정수 D가 여러 개 존재할 수 있다. n개의 정수로 된 수열이 주어졌을 때, 가장 큰 D를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n(1 ≤ n ≤ 1,000)이 주어진다. 다음 줄에는 절댓값이 1,000,000을 넘지 않는 n개의 정수들이 주어진다.출력첫째 줄에 가장 큰 D를 출력한다. 항상 가장 큰 D가 ..
[백준] 7562 - 나이트의 이동
·
📖코딩테스트/BOJ
문제체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있을까?입력입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 세 줄로 이루어져 있다. 첫째 줄에는 체스판의 한 변의 길이 l(4 ≤ l ≤ 300)이 주어진다. 체스판의 크기는 l × l이다. 체스판의 각 칸은 두 수의 쌍 {0, ..., l-1} × {0, ..., l-1}로 나타낼 수 있다. 둘째 줄과 셋째 줄에는 나이트가 현재 있는 칸, 나이트가 이동하려고 하는 칸이 주어진다.출력각 테스트 케이스마다 나이트가 최소 몇 번만에 이동할 수 있는지 출력한다.예제 입력380 07 01000 0..
[백준] 1669 - 멍멍이 쓰다듬기
·
🤔알고리즘
문제동물원에서 막 탈출한 원숭이 한 마리가 세상구경을 하고 있다. 그러다 오늘도 어김없이 그의 영원한 라이벌 멍멍이를 만나게 되었다. 원숭이는 멍멍이를 쓰다듬고 싶었다. 하지만 원숭이는 멍멍이보다 키가 작기 때문에 멍멍이를 쓰다듬어줄 수 없다. 원숭이가 멍멍이를 쓰다듬으려면 둘의 키가 같아야 하기 때문이다. 그래서 원숭이는 그 날부터 자신의 키를 조절하기로 마음먹었다. 원숭이는 초능력자이기 때문에 마음대로 키를 늘릴 수 있다. 하지만 안타깝게도 사람이 아니라 동물이기 때문에 하루에 늘릴 수 있는 키의 양을 1cm밖에 조절할 수 없다. 예를 들어 오늘 키를 5cm 만큼 늘렸다면, 내일은 키를 4cm, 5cm, 6cm 중 하나만큼 키를 늘릴 수 있다는 뜻이다. 늘릴 수 있는 키의 양은 음수가 될 수 없다. ..
여우비_YoBi
'오블완' 태그의 글 목록