두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.a와 b
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.n은 길이 10,000이하인 자연수입니다.n의 길이가 100000
서울에서 김서방 찾기 문제 설명 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는
프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다.또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포
트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다
DP (Dynamic Programming)란? 큰 문제를 작은 문제로 쪼개서 푸는 문제를 말한다. 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.아래 그림은 2×17 직사각형을 채운 한가지 예이다.첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,00
정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.1+1+1+11+1+21+2+12+1+12+21+33+1정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작
45656이란 수를 보자.이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다.N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구해보자. 0으로 시작하는 수는 계단수가 아니다.첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다
오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다.예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다.수의 길이 N이 주어졌을 때, 오르막 수의 개수를
링크 : https://www.acmicpc.net/problem/21930과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는
상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다.상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스
효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다.포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고,
수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.
수열 S가 어떤 수 Sk를 기준으로 S1 < S2 < ... Sk-1 < Sk > Sk+1 > ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다.예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40},
n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다.예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수
어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다. 이 경우, 수학자 숌크라테스는 “1
타일 채우기 문제 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. 입력 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다. 출력 첫째 줄에 경우의 수를 출력한다. 예제 풀이 N이 홀수일 경우 항상 타일이 한개 부족하다! => 짝수
수열의 규칙 찾기 이 수열의 규칙은 아래와 같다. 점화식 dpn = dpn-2 + dpn-3 (단, n은 3보다 큰 숫자)
case 1) k = 1 경우의 수 case 2) k = 2 case 3) k = 3 case 4) k = 4위 내용을 테이블 형태로 표현해보면 다음과 같다. n = 1일 때, 항상
다 풀었다 생각했는데 해석이 불가능한 암호를 생각하지 못했다. 0이 있는 경우를 생각하지 못해서 엄청 틀렸다 ㅠㅠ 노력의 흔적..^..^.. 백준... 예시 좀만 더 줘 ㅠㅠ
모든 카드팩의 가격을 비교해 최댓값을 찾아야 한다 == DP이다.dp문제인데 갈피를 못잡아서 이분의 글을 참고해서 이해했다. 어렵다 ㅠ
이 문제는 메모리 제한이 너무 적어서 sort를 사용할 수 없다.게다가 for문에서 숫자를 입력 받기 위해 input을 사용해도 메모리 초과로 문제를 통과할 수 없다. 따라서 sort를 쓰지 않고, intput 대신 int(sys.stdin.readline()) 이 함
진법문제 공부하게 된 좋은 문제라고 생각한다. 만만하게 보던것도 다시공부하게 된 문제였다. ABCD..XYZ에 해당하는 문자를 어떻게 처리해야할까 고민했는데, 같이 문자열에 넣어서 index로 받아서 사용할 수 있다는 것을 배웠다!
진법변환 재밌다.
문제 풀이 코드
종이를 9x9 => 3x3 => 1x1로 줄여가며 색상을 확인한다. 분할정복 개념을 잘 몰라서 어려웠다ㅠㅠ https://velog.io/@uoayop/BOJ-1780-%EC%A2%85%EC%9D%B4%EC%9D%98-%EA%B0%9C%EC%88%98Pytho
처음에는 아래처럼 숫자의 조합을 나열해, 30의 배수가 되는 가장 큰 숫자를 찾았다. 하지만 이 방법으로 하니 시간초과로 오류가 났다. 정말 아무리 생각해도 방법을 모르겠어서 백준에 질문하기 게시판에 들어갔다.다들 근데 숫자의 조합을 생각하지 않아서 의아했다. 근데 고
원래는 가로, 세로 길이 전부 다 고려해야한다 생각해서 case를 가로/세로 를 기준으로 다 나눴었다.하지만 이 방법은 머리아프고ㅜ 예외 사항이 너무 많아, 세로를 기준으로 case를 나눈 뒤, 가로 길이를 고려해주었다.이 문제는 병든 나이트가 항상 오른쪽으로 가므로,
bfs로 풀어야 하나.. 엄청난 고민 끝에... 우선순위큐 문제라길래 풀이를 참고했다.. ㅎㅎ 문제 풀이 방법은 단순하다.첫 강의 종료 시간과 두번재 회의 시작 시간 비교 만약, 첫 강의 종료 시간 보다 두번째 강의 시작 시간이 크면 강의시간을 연장한다.강의를 연장하는
입출력 예에서도 아주 친절하게 잘 설명 해 주듯, stage n의 실패율은 n에 도전한 user의 수 / n보다 큰 stage에 도전한 user 수 + n에 도전한 user의 수 이다. 이걸 잘 풀어서 해결하면 된다. 더 이해가 잘 가게 입출력 예시 N = 5, st