일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- m1 docker install
- 나누어 떨어지는 숫자 배열 python
- 최소 스패닝 트리 자바
- 최단 경로 알고리즘
- 최소 스패닝 트리
- 가운데 글자 가져오기 자바
- docker remove
- 가운데 글자 가져오기 파이썬
- 빅분기실기
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- m1 docker
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- 프로그래머스 가운데 글자 가져오기 자바
- 프로그래머스 가운데 글자 가져오기 파이썬
- 코드업 1020 java
- codeup 1020 java
- docker 삭제
- 청년 Ai Big Data 아카데미
- 코드업 1020 자바
- codeup 1020 자바
- 가운데 글자 가져오기 java
- 청년 AI Big Data 아카데미 13기
- 프로그래머스 가운데 글자 가져오기 python
- 핸즈온 머신러닝
- 트리의 지름 java
- 빅데이터분석기사
- 나누어 떨어지는 숫자 배열 java
- docker 완전 삭제
- 가운데 글자 가져오기 python
- 트리의 지름 자바
- Today
- Total
목록프로그래밍 문제
반응형
반응형
(357)
NineTwo meet you
문제 링크 문제 수열 S가 주어졌을 때, 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 구하는 프로그램을 작성하시오. 예를 들어, S = [5, 1, 2]인 경우에 1, 2, 3(=1+2), 5, 6(=1+5), 7(=2+5), 8(=1+2+5)을 만들 수 있다. 하지만, 4는 만들 수 없기 때문에 정답은 4이다. 입력 첫째 줄에 수열 S의 크기 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 수열 S가 주어진다. S를 이루고 있는 수는 100,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 출력한다. 예제 입력 1 3 5 1 2 예제 출력 1 4 예제 입력 2 3 2 1 4 예제 출력 2 8 예제 입력 3 4 2 ..
문제 링크 문제 오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이다. 이제 스타트 팀과 링크 팀으로 사람들을 나눠야 한다. 두 팀의 인원수는 같지 않아도 되지만, 한 명 이상이어야 한다. BOJ를 운영하는 회사 답게 사람에게 번호를 1부터 N까지로 배정했고, 아래와 같은 능력치를 조사했다. 능력치 Sij는 i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치이다. 팀의 능력치는 팀에 속한 모든 쌍의 능력치 Sij의 합이다. Sij는 Sji와 다를 수도 있으며, i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치는 Sij와 Sji이다. N=4이고, S가 아래와 같은 경우..
문제 링크 문제설명 & 제한사항 & 입출력 예 더보기 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 c를 2진법으로 표현한 문자열로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 1이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 s의 길이는 1 이상 150,000 이하입니다. s에는 '1'이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uR1iJ/btqRGphwLV9/Avodj0yNPHxjHMkklCas81/img.png)
문제 링크 문제 설명 & 제한사항 & 입출력 예 더보기 문제 설명 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 so..
출처 코드
출처 코드
출처 코드
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bk2Z93/btqRGq095e4/pnUZxFLKItSrWjpB6KFK1k/img.png)
출처 설명 기존에 맞았던 코드가 재채점 되면서 틀려서 다시 풀었다. 2^N X 2^N인 2차원 배열을 Z 모양으로 탐색한다. size는 2^n -> 2^(n-1) -> ... -> 2^1 -> 1로 가면서 주어진 r행 c열을 찾게 된다. 0 영역의 왼쪽 위의 행을 x, 열을 y라 하면 각 영역의 특징은 다음과 같다. 0 영역 : x
출처 설명 수학으로 해결하는 문제였지만 고민 끝에 해결하지 못했고 백준 님의 설명을 참고하여 해결할 수 있었다. 1부터 n까지가 아닌 A부터 B까지 각 숫자가 몇 번 나오는 지의 문제로 바꿔서 해결한다. 여기서 A의 일의 자리는 0이 되어야 하며 아니면 A++로 맞춰준다. 여기서 B의 일자리는 9여야 하며 아니면 B--로 맞춰준다. 맞추는 과정에서 지나온 일의 자리수를 ++해준다. 맞춰준 후에는 A부터 B까지 일의 자리에 0부터 9는 총 (B/10 - A/10 + 1) 번 등장한다. A = 10, B = 39인 경우에 B/10 - A/10 + 1 = 39/10 - 10/10 + 1 = 3 - 1 + 1 = 3번 등장한다. 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/T2Y6Q/btqRrQERSe6/hFNZX7xeHF0e3cLRDOQVZ1/img.png)
출처 설명 가장 먼저 유의해야 할 사항은 N는 최대 개의 숫자로 구성되어있다는 점이다. 따라서 n을 정수형으로 입력을 받지 않고 String 배열을 만들었다. n이 30의 배수가 되기 위한 조건 1. 0이 포함되어있어야 한다. 2. 모든 자릿수의 합이 3의 배수여야 한다. 이걸 "배수 판정법"이라고 한다. 간단하게 2번 조건을 설명하자면 각각 10거듭제곱 -1 의 꼴은 9의 배수로 즉 3의 배수가 되어 나눠진다. 그렇다면 마지막의 각 항의 합이 남는데 각 항의 합도 3의 배수가 된다면 전체 수가 3의 배수가 된다는 증명이다. 코드