[BoJ] - 1043번 거짓말
·
알고리즘/백준
문제를 풀면서 1시간 정도 고민을 했었고 1시간 구현해서 풀어낸 문제이다. 골드 4이지만 난이도가 막 어렵지는 않았던 것 같다. 오랜만에 골드 4를 스스로의 힘으로 풀어서 기분이 좋았다 문제 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 과장해서 말한다. 당연히 과장해서 이야기하는 것이 훨씬 더 재미있기 때문에, 되도록이면 과장해서 이야기하려고 한다. 하지만, 지민이는 거짓말쟁이로 알려지기는 싫어한다. 문제는 몇몇 사람들은 그 이야기의 진실을 안다는 것이다. 따라서 이런 사람들이 파티에 왔을 때는, 지민이는 진실을 이야기할 수 밖에 없다. 당연히, 어떤 사람이 어떤..
[BoJ] - 2630번 색종이 만들기
·
알고리즘/백준
문제를 풀면서 한창 고민을 했던 문제이고 내가 약한 재귀 함수 문제를 좀더 연습할수있는 문제여서 정리할겸 글을 작성합니다. 문제 설명 전체 종이의 크기가 N×N(N=2k, k는 1 이상 7 이하의 자연수) 이라면 종이를 자르는 규칙은 다음과 같다. 전체 종이가 모두 같은 색으로 칠해져 있지 않으면 가로와 세로로 중간 부분을 잘라서 의 I, II, III, IV와 같이 똑같은 크기의 네 개의 N/2 × N/2색종이로 나눈다. 나누어진 종이 I, II, III, IV 각각에 대해서도 앞에서와 마찬가지로 모두 같은 색으로 칠해져 있지 않으면 같은 방법으로 똑같은 크기의 네 개의 색종이로 나눈다. 이와 같은 과정을 잘라진 종이가 모두 하얀색 또는 모두 파란색으로 칠해져 있거나, 하나의 정사각형 칸이 되어 더 이..
[BoJ] - 1015번 수열 정렬
·
알고리즘/백준
백준 링크 : https://www.acmicpc.net/problem/1015 문제 설명 처음 문제를 읽어보았을때 정말 이해하기가 어려워서 10번이상을 똑같은 문장을 반복해서 봤다 이해가 안되었문장은 이거였다 B[P[i]] = A[i] 이다. 배열 A가 주어졌을떄 수열 P를 적용한 결과 비 내림차순이 되는 수열을 찾는 프로그램을 작성하세요 B[P[i]] = A[i] 이게 도대체 무슨 의미인가 고민을 했고 이해하기 어려워 질문 게시판을 확인해보았을때 정확히 뭘 요구하는지 이해할수 있었다. 즉 문제가 요구하는 건 "주어진 수열을 정렬시키는 수열 " 이다. 즉 B[P[i]] = A[i] 를 그대로 해석하면 오름차순이 된 B배열의 P[i]는 인덱스 값이다 예를 들면 A : 2 3 1 B : 1 2 3 B[1]..
정수 삼각형 - 파이썬 (DP)
·
알고리즘/백준
백준 사이트 링크 : https://www.acmicpc.net/problem/1932 프로그래머스 링크 : https://programmers.co.kr/learn/courses/30/lessons/43105 문제는 아래와 같습니다. 문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범..
병사 배치하기 - DP(파이썬) - 이코테 문제
·
알고리즘/백준
사이트 링크 : https://www.acmicpc.net/problem/1072 문제는 아래와 같습니다. 문제 N명의 병사가 무작위로 나열되어 있다. 각 병사는 특정한 값의 전투력을 보유하고 있으며, 병사를 배치할 때는 전투력이 높은 병사가 앞쪽에 오도록 내림차순으로 배치를 하고자 한다. 다시 말해 앞쪽에 있는 병사의 전투력이 항상 뒤쪽에 있는 병사보다 높아야 한다. 또한 배치 과정에서는 특정한 위치에 있는 병사를 열외시키는 방법을 이용한다. 그러면서도 남아있는 병사의 수가 최대가 되도록 하고 싶다. 예를 들어, N=7일 때 나열된 병사들의 전투력이 다음과 같다고 가정하자. 이 때 3번 병사와 6번 병사를 열외시키면, 다음과 같이 남아있는 병사의 수가 내림차순의 형태가 되며 5명이 된다. 이는 남아있는..
K 번째수 - 파이썬 (이분탐색)
·
알고리즘/백준
사이트 링크 : https://www.acmicpc.net/problem/1300 문제는 아래와 같습니다. 문제 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. 입력 첫째 줄에 배열의 크기 N이 주어진다. N은 105보다 작거나 같은 자연수이다. 둘째 줄에 k가 주어진다. k는 min(109, N2)보다 작거나 같은 자연수이다. 출력 B[k]를 출력한다. 문제 해결 포인트 문제의 아이디어가 떠오르지 않아 정말 시간을 많이 사용한 문제였습니다. ㅋㅋ 해당 문제에서 가장 중요한 포인트는 count_belo..
cafe-jun12
'알고리즘/백준' 카테고리의 글 목록