본문 바로가기
반응형

분류 전체보기188

2022년 정보올림피아드 필기 초등부(6 ~ 10) 2022년도 정보올림피아드 1차대회 필기 초등부 6번부터 10번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.04.03 - [알고리즘 설명] - 2022년 정보올림피아드 필기 초등부(1 ~ 5) 6번 확실한 것부터 하나씩 진행합니다. 먼저 3번째 조건이 가장 확실합니다. B가 5등 입니다. B 다음 두 번째 조건으로 A와 B 사이에 E가 있습니다. 단 B는 5등이 확실하지만 A와 E는 몇 등인지 모릅니다. A E B 다음으로 첫 번째 조건으로 A보다 C가 순위가 높다는 것을 알 수 있습니다. C A E B 마지막으로 D는 A보다 순위가 높습니다. 단 D와 C중 누가 더 높은지는 알 수 없습니다. D(C) C(D) A E B C와 D의 순위는 어떻게 되는지 모르지만 A가 3등이라.. 2024. 4. 3.
2022년 정보올림피아드 필기 초등부(1 ~ 5) 2022년도 정보올림피아드 1차대회 초등부 필기 문제 풀이 입니다. 1번 banana의 경우는 a가 3개 있기 때문에 다른 문자의 위치에 따라 사전순으로 배열할 때 신경써 주어야 합니다. 하지만 foobar 의 경우 a가 하나 있기 때문에 a만 맨 앞으로 이동시켜주면 됩니다. 따라서 arfoob가 사전에서 가장 먼저 나오고 이는 4개의 문자를 뒤로 옮겨주면 됩니다. 2번 위 문장에 기록된 두 가지는 사실 입니다. 첫 번째 P와 R 둘 중 한명은 케익을 먹었다는 사실을 알 수 있습니다. 그럼 두 번째에서 P가 케익을 먹지 않았다는 것은 R이 먹었다는 뜻과 같습니다. 즉 두번째 기록은 다음과 같이 바꿔 쓸 수 있습니다. R이 케익을 먹었거나, Q가 케익을 먹었다. R이 케익을 먹은 동시에 Q가 케익을 먹었을.. 2024. 4. 3.
[백준 1328] 고층 빌딩 문제 출처 : https://www.acmicpc.net/problem/1328 1328번: 고층 빌딩 상근이가 살고있는 동네에는 빌딩 N개가 한 줄로 세워져 있다. 모든 빌딩의 높이는 1보다 크거나 같고, N보다 작거나 같으며, 같은 높이를 가지는 빌딩은 없다. 상근이는 학교 가는 길에 가장 왼 www.acmicpc.net 문제 이해하기 빌딩을 왼쪽에서 보았을 때, 오른쪽에서 보았을 때를 가지고 빌딩의 순서를 출력하는 문제 입니다. 어려운 문제이지만 차근차근 생각하면 해결할 수 있습니다. 이 문제를 풀 때에는 모든 빌딩이 바닥에서부터 쏟아오른다고 생각하면 좀 더 쉽습니다. 문제의 예로 나온 N = 5, L = 3, R = 2를 생각해 보겠습니다. 총 5개의 건물이 있고 왼쪽에서는 3개의 빌딩이 보이고,.. 2024. 4. 1.
2021년 정보올림피아드 필기 초등부(16 ~ 20) 2021년 정보올림피아드 1차대회 초등부 16번부터 20번까지 문제 풀이 입니다. 2024.03.27 - [알고리즘 설명] - 2021년 정보올림피아드 필기 초등부(1 ~ 5) 2024.03.30 - [알고리즘 설명] - 2021년 정보올림피아드 필기 초등부(6 ~ 10) 2024.03.31 - [알고리즘 설명] - 2021년 정보올림피아드 필기 초등부(11 ~ 15) 16번 A, B, C, D, E가 모두 포함된 가장 짧은 깃발 위치를 찾는 것입니다. 첫 번째 문제는 4번을 포함한 1부터 5번까지를 선택하면 A, B, C, D, E를 포함하면서 가장 짧은 구간이 됩니다. 11번을 포함한 A부터 E까지 모두 포함된 가장 짧은 구간은 3번부터 11번 구간 입니다. 3번 문제는 15번째부터, 20번까지 선택.. 2024. 4. 1.
2021년 정보올림피아드 필기 초등부(11 ~ 15) 2021년 정보올림피아드 1차대회 초등부 11번부터 15번까지 문제 풀이 입니다. 2024.03.27 - [알고리즘 설명] - 2021년 정보올림피아드 필기 초등부(1 ~ 5) 2024.03.30 - [알고리즘 설명] - 2021년 정보올림피아드 필기 초등부(6 ~ 10) 11번 이렇게 회전을 하였을 때 겹치는 경우를 같은 형태로 보는 것을 원순열이라고 합니다. 그리고 조각을 뒤집을 수 없다는 것은 염주순열 혹은 목걸이 순열은 아니라는 뜻입니다. 그럼 먼저 원순열이 무엇인지부터 알아보겠습니다. 원탁이 있고 1번부터 4번까지 자리에 앉는다고 하겠습니다. 이 때 앉을 수 있는 경우의 수를 구하는 것입니다. 원탁에 1, 2, 3, 4순서로 앉아 있는 것과 4, 1, 2, 3순서로 앉아 있는 것은 같은 순서로 .. 2024. 3. 31.
2021년 정보올림피아드 필기 초등부(6 ~ 10) 2021년도 정보올림피아드 1차대회 초등부 필기 6번부터 10번까지 문제 풀이 입니다. 1번부터 5번 문제는 아래 링크 확인 바랍니다. https://davincicoding.tistory.com/125 2021년 정보올림피아드 필기 초등부(1 ~ 5) 2021년도 정보 올림피아드 1차대회 초등부 필기 1번부터 5번까지 풀이 입니다. 1번 첫 번째 결과는 더하기, 빼기로 2가지 입니다. 두 번째 결과는 곱하기, 나누기, 나눗셈의 나머지로 3가지 입니다. davincicoding.co.kr 6번 한 붓 그리기가 가능한 경우는 꼭지점의 교차 선분의 개수가 모두 짝수이거나, 꼭지점의 교차되는 선분의 개수가 홀수가 두개인 경우 가능 합니다. 첫 번째, 두 번째, 세 번째의 경우 교차되는 홀수 쪽지점이 2개 입니.. 2024. 3. 30.
등차수열과 등비수열 등차수열이란? 등차수열은 일정한 차를 가지는 수열입니다. 1, 2, 3, 4, 5 … 이렇게 일정하게 1이라는 차를 가진 수열을 뜻합니다. 2, 4, 6, 8, 10 이것 역시 일정하게 2라는 차를 가진 등차수열입니다. 등차 수열의 합 이런 등차수열의 합을 구하는 방법에 대해 알아보겠습니다. 등차수열의 공식을 외워도 되지만 원리를 알면 외우지 않아도 쉽게 문제를 해결할 수 있습니다. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 1부터 10까지의 등차수열의 합을 구해보겠습니다. 1부터 10의 등차수열을 구하기 위해서 10부터 1까지의 등차수열을 더해줍니다. 1부터 10까지의 수에 10부터 1까지의 수를 다 더해주면 각각의 합이 모두 11이 됩니다. 즉 11을 10번 더한것과 같게 됩니다. 이 값은.. 2024. 3. 28.
2021년 정보올림피아드 필기 초등부(1 ~ 5) 2021년도 정보 올림피아드 1차대회 초등부 필기 1번부터 5번까지 풀이 입니다. 1번 첫 번째 결과는 더하기, 빼기로 2가지 입니다. 두 번째 결과는 곱하기, 나누기, 나눗셈의 나머지로 3가지 입니다. 따라서 출력은 2 * 3으로 6가지가 됩니다. 하지만 여기서 한가지를 더 확인해야 합니다. 혹시라도 같은 결과가 나올 수 있기 때문 입니다. 만약 a가 1, b가 1이라면 곱하기, 나누기의 결과가 1로 같기 때문에 6가지가 나오지 않을 수 있습니다. 다행히 4와 2로 연산한 결과가 모두 다르기 때문에 6가지가 맞습니다. 2번 10등의 수상자에게 2개의 쿠키를 나눠주었다면 9등은 3개, 8등은 4개가 됩니다. 따라서 1등은 11개의 쿠키를 받을 수 있습니다. 2부터 11까지 하나하나 더해주어도 되고, 등차.. 2024. 3. 27.
2020년 정보올림피아드 필기 초등부(2 - 4 ~ 2 - 8) 2020년도 정보올림피아드 1차 초등부 필기 문제 풀이 입니다. 2024.03.24 - [알고리즘 설명] - 2020년 정보올림피아드 필기 초등부(1 ~ 5) 2024.03.25 - [알고리즘 설명] - 2020년 정보올림피아드 필기 초등부(6 ~ 10) 2024.03.26 - [알고리즘 설명] - 2020년 정보올림피아드 필기 초등부(11 ~ 2 - 3) 2 - 4번 짧은 경로를 선택하다보면 쉽게 경로를 그릴 수 있습니다. 우선 이런 최단경로를 구하는 알고리즘은 다익스트라 알고리즘입니다. 하지만 다익스트라 알고리즘은 출발점과 도착점이 정해져 있습니다. 이렇게 출발점과 도착점이 정해지지 않았다면 플로이드 와샬 알고리즘을 사용합니다. 플로이드 와샬 알고리즘에 대해서는 아래 링크 확인 바랍니다. https:.. 2024. 3. 27.
2020년 정보올림피아드 필기 초등부(11 ~ 2 - 3) 2020년도 정보올림피아드 1차 대회 초등부 필기 11번부터 2 - 3번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.03.24 - [알고리즘 설명] - 2020년 정보올림피아드 필기 초등부(1 ~ 5) 2024.03.25 - [알고리즘 설명] - 2020년 정보올림피아드 필기 초등부(6 ~ 10) 11번 A부터 Z까지 모든 경우를 생각하면 1부터 26까지 나타낼 수 있습니다. 따라서 숫자가 26보다 크다면 문자로 나타낼 수 없습니다. 즉 1234123의 중간에 있는 4는 앞에있는 숫자 3이랑 합쳐 34를 만들거나 뒤에 있는 1과 합쳐 41을 만들 수 없습니다. 4는 D 하나밖에 나타낼 수 없습니다. 그럼 123D123으로 나타낼 수 있습니다. 문제에서 123은 3개로 나타낼 .. 2024. 3. 26.
2020년 정보올림피아드 필기 초등부(6 ~ 10) 2020년도 정보올림피아드 1차 대회 초등부 필기 6번부터 10번까지 문제 풀이 입니다. 1번부터 5번까지는 아래 링크 확인 바랍니다. 2024.03.24 - [알고리즘 설명] - 2020년 정보올림피아드 필기 초등부(1 ~ 5) 2020년 정보올림피아드 필기 초등부(1 ~ 5) 2020년 정보올림피아드 1차 필기 시험 초등부 1번부터 5번까지 풀이 진행하겠습니다. 1번 나머지 연산을 이해하는지 묻는 문제 입니다. (A * B) % C 연산은 ((A % C) * (B % C)) % C로 나타낼 수 있습니다. davincicoding.co.kr 6번 이런 문제는 시뮬레이션을 통해 해결할 수 있습니다. 1번 상자부터 금화가 있다고 가정하고 사실 여부를 따져보면 문제가 해결 됩니다. 1번 상자 금화 참 참 거.. 2024. 3. 25.
2020년 정보올림피아드 필기 초등부(1 ~ 5) 2020년 정보올림피아드 1차 필기 시험 초등부 1번부터 5번까지 풀이 진행하겠습니다. 1번 나머지 연산을 이해하는지 묻는 문제 입니다. (A * B) % C 연산은 ((A % C) * (B % C)) % C로 나타낼 수 있습니다. 예를 들어 보겠습니다. (7 * 5) % 3 은 35 % 3 으로 2입니다. 이것을 분배하면 ((7 % 3) * (5 % 3)) % 3으로 (1 * 2) % 3으로 아까와 같이 2가 되는 것을 알 수 있습니다. 3^2020은 2020을 4로 나누면 505가 되고, 3^4를 505번 곱한것과 같습니다. 따라서 이 문제를 풀어보면 다음과 같습니다. ((3^4 % 5) * (3^4 % 5) … (3^4 % 5)) % 5로 나타낼 수 있습니다. 3 ^ 4 % 5는 1이기 때문에 결국.. 2024. 3. 24.
2019년 정보올림피아드 필기 중등부(2 - 4 ~ 2 - 8) 2019년 정보올림피아드 1차 대회 중등부 필기 2-4번부터 2-8번까지 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.03.18 - [알고리즘 설명] - 2019년 정보올림피아드 필기 중등부(1 ~ 5) 2024.03.20 - [알고리즘 설명] - 2019년 정보올림피아드 필기 중등부(6 ~ 10) 2024.03.21 - [알고리즘 설명] - 2019년 정보올림피아드 필기 중등부(11 ~ 2 - 3) 2 - 4번 버튼을 누르면 그 좌 우도 같이 숫자가 변합니다. 모두 0으로 만들기 위해서는 5번째 버튼을 눌러 6번째, 7번째 1을 0으로 바꾸고, 4번째 0은 1로 바뀌게 해야 합니다. 3번째 버튼을 누르면 5번을 누른것과 마찬가지로 3번째, 4번째 1이 0으로 바뀌고 2번째 0만 .. 2024. 3. 23.
교란 순열이란? 완전 순열(Complete permutation) 또는 교란(derangement) 순열이라 불리는 순열에 대해 알아보겠습니다. 교란 순열의 예를 들어 보겠습니다. 교란 순열이란? 졸업을 맞이하여 서로를 축하하기 위해 친구 N명이 각자 선물 하나씩을 준비하였습니다. 선물을 내려놓고 아무거나 하나씩 집었을 때 자신의 선물이 아닌 다른 사람의 선물을 선택 할 경우의 수를 교란 순열이라고 합니다. 선물을 아무거나 고르는 경우의 수는 N!로 쉽게 구할 수 있습니다. 하지만 자신의 선물을 고르지 않는 경우에는 다른 방식으로 문제를 해결해야 합니다. 친구가 1명일 때 먼저 친구가 1명 있다고 생각하겠습니다. 한 명이 선물을 고른다면 어떻게 해도 자기 자신의 선물을 고를 수 밖에 없습니다. 따라서 경우의 수는 0 입.. 2024. 3. 22.
2019년 정보올림피아드 필기 중등부(11 ~ 2 - 3) 2019년 정보올림피아드 중등부 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다. 2024.03.18 - [알고리즘 설명] - 2019년 정보올림피아드 필기 중등부(1 ~ 5) 2024.03.20 - [알고리즘 설명] - 2019년 정보올림피아드 필기 중등부(6 ~ 10) 11번 3, 4, 5, 6각형의 모든 쌍을 만드는 문제 입니다. 모든 쌍을 생각하면 총 6가지 입니다. 4C2 = 4 * 3 / 2 = 6 이것을 표현하면 다음과 같습니다. (3, 4), (3, 5), (3, 6), (4, 5), (4, 6), (5, 6) 모든 쌍이 가능한 경우를 생각해 최소의 수를 찾아야 합니다. (3, 4)의 경우 최소 수는 7개 입니다. 그 다음 가능한 수는 정삼각형을 6개로 만들어 10개로 만들 수 있.. 2024. 3. 21.
2019년 정보올림피아드 필기 중등부(6 ~ 10) 2019년 정보올림피아드 중등부 문제 풀이 입니다. 이전 문제는 아래 링크 확인 바랍니다.2024.03.18 - [알고리즘 설명] - 2019년 정보올림피아드 필기 중등부(1 ~ 5) 2019년 정보올림피아드 필기 중등부(1 ~ 5)2019년 정보 올림피아드 1차 중등부 풀이 입니다. 1번 숫자를 하나하나 계산하기 힘든 문제 입니다. 하지만 잘 보면 숫자를 다른 형태로 바꿀 수 있을 것 같습니다. (2020 - 1) * (2020 + 1) 위와 같이 바davincicoding.co.kr6번한 붓 그리기 관련 내용은 아래 링크 확인 바랍니다.2024.03.15 - [알고리즘 설명] - 한 붓 그리기 가능한 경우 한 붓 그리기 가능한 경우정보 올림피아드 필기에 한 붓 그리기 .. 2024. 3. 20.
2019년 정보올림피아드 필기 중등부(1 ~ 5) 2019년 정보 올림피아드 1차 중등부 풀이 입니다. 1번 숫자를 하나하나 계산하기 힘든 문제 입니다. 하지만 잘 보면 숫자를 다른 형태로 바꿀 수 있을 것 같습니다. (2020 - 1) * (2020 + 1) 위와 같이 바꿔주겠습니다. 이 것은 결국 아래와 같게 됩니다 2020 ** 2 - 1 2020을 제곱한 숫자에 1을 뺀 숫자를 찾고, 2진수로 표현했을 때 연속된 1의 개수를 찾는 문제 입니다. 즉 우리는 정확한 숫자 계산을 할 필요가 없습니다. 결국 이 문제는 2020을 제곱한 숫자의 2진수에 오른쪽 연속된 0이 몇개 있는지 묻는 문제 입니다. 예를 들어 10100000 이라는 2진수가 있습니다. 오른쪽에서 보면 0이 총 5개가 있음을 알 수 있습니다. 여기에 1을 빼면 10011111가 되고 .. 2024. 3. 18.
2019년 정보올림피아드 필기 초등부(2-4~2-8) 2019년 정보올림피아드 1차 대회 초등부 2-4번부터 2-8번까지 문제 풀이 입니다. 이전 문제 풀이는 아래 링크 확인 바랍니다. 2024.03.12 - [알고리즘 설명] - 2019년 정보올림피아드 필기 초등부(1~5) 2024.03.14 - [알고리즘 설명] - 2019년 정보올림피아드 필기 초등부(6~10) 2024.03.16 - [알고리즘 설명] - 2019년 정보올림피아드 필기 초등부(11~2 - 3) 2-4번 모든 수를 다 곱해봐야 할 것 같지만 그렇지 않습니다. 문제에서 첫 배열은 오름차순, 두 번째 배열은 내림차순으로 되어 있다고 했습니다. 첫 번째 끼리 두 수를 곱해서 504보다 작으면 첫 배열의 위치를 바꿔 숫자를 커지게 만들고, 504보다 크면 두 번째 배열의 위치를 바꿔 숫자를 작.. 2024. 3. 17.
2019년 정보올림피아드 필기 초등부(11~2 - 3) 2019년 정보 올림피아드 필기 초등부 11번부터 2 - 3번까지 문제 풀이 입니다. 1번부터 10번까지는 아래 링크 확인 바랍니다. 2024.03.12 - [알고리즘 설명] - 2019년 정보올림피아드 필기 초등부(1~5) 2019년 정보올림피아드 필기 초등부(1~5) 2019년 정보 올림피아드 1차 필기 초등부 문제 풀이 입니다. 1번 (a, b), (b, c), (c, a) 총 3번 비교하면 됩니다. 조합을 구하는 문제로 초등부 문제에서는 3개중 2개를 비교하지만 중등부, 고등부에서는 davincicoding.co.kr 2024.03.14 - [알고리즘 설명] - 2019년 정보올림피아드 필기 초등부(6~10) 2019년 정보올림피아드 필기 초등부(6~10) 2019년 정보올림피아드 필기 초등부 6.. 2024. 3. 16.
한 붓 그리기 가능한 경우 정보 올림피아드 필기에 한 붓 그리기 문제는 매년 출제되는 단골 문제 입니다. 따라서 한 붓 그리기가 언제 가능한지 꼭 기억하고 있어야 합니다. 한 붓 그리기는 오일러 경로(Euler trail)라고도 합니다. 한 붓 그리기는 이미 1736년에 오일러가 증명 했습니다. 한 붓 그리기가 가능한 도형에 대해 알아보겠습니다. 꼭지점의 차수가 모두 짝수 일때 차수란 꼭지점에 인접한 선분이 몇 개인지를 나타냅니다. 위 그림처럼 모든 쪽지점의 차수가 짝수일 때 어느 지점으로 시작해도 다시 출발점으로 돌아오는 한 붓 그리기가 가능합니다. 차수가 모두 짝수인 경우 어느 지점에서 시작해도 한 붓 그리기가 가능하고 출발점으로 돌아옵니다. 꼭지점의 홀수 차수가 2개 일 때 먼저 꼭지점의 홀수 차수가 1개인 경우는 없습니다... 2024. 3. 15.
2019년 정보올림피아드 필기 초등부(6~10) 2019년 정보올림피아드 필기 초등부 6번부터 10번까지 문제 풀이 입니다. 1번부터 5번까지는 아래 링크 확인 바랍니다. 2024.03.12 - [알고리즘 설명] - 2019년 정보올림피아드 필기 초등부(1~5) 2019년 정보올림피아드 필기 초등부(1~5) 2019년 정보 올림피아드 1차 필기 초등부 문제 풀이 입니다. 1번 (a, b), (b, c), (c, a) 총 3번 비교하면 됩니다. 조합을 구하는 문제로 초등부 문제에서는 3개중 2개를 비교하지만 중등부, 고등부에서는 davincicoding.co.kr 6번 이 문제는 시뮬레이션을 직접하여 첫 번째 개미가 떨어진 시간과 마지막 개미가 떨어진 시간의 차이를 구해야 합니다. 먼저 첫 번째 개미가 떨어질 때까지 시뮬레이션 해보겠습니다. 먼저 시작 .. 2024. 3. 14.
[백준 30090] 백신 개발 문제 출처 : https://www.acmicpc.net/problem/30090 30090번: 백신 개발 평소 정보 보안에 관심이 많은 진흥이는 최근 들어 유행하고 있는 컴퓨터 바이러스에 대한 백신을 개발하려고 한다. 바이러스는 $N$개의 문자열로 이루어져 있다고 한다. 진흥이가 열심히 연구 www.acmicpc.net 이 문제는 제 1회 청소년 IT 경시대회 초등부 B번, 고등부 A번 문제 입니다. 겹치는 문자열을 이어 붙여 가장 짧은 문자열을 만드는 문제 입니다. 예제를 확인해보면 3개의 입력이 주어집니다. RUST, VIRUS, STAND 입니다. 이 3개의 문자를 겹치는 부분을 하나로 만들어 잘 이어주면 VIRUSTAND 라는 문자열이 가장 짧은 문자열이 되고 이 문자열의 길이인 9를 출력하는 .. 2024. 3. 13.
[백준 30089] 새로운 문자열 만들기 문제 출처 : https://www.acmicpc.net/problem/30089 30089번: 새로운 문자열 만들기 $T$개의 줄마다 영어 대문자로만 이루어진 문자열 $S$가 주어질 때, 각 줄마다 아래 조건을 모두 만족하는 문자열 $X$를 출력하여라. $X$는 $S$로 시작하여야 한다. $X$를 뒤에서부터 읽은 문자열 $X'$ www.acmicpc.net 이 문제는 제 1회 청소년 IT 경시대회 초등부 A번, 중등부 A번으로 출제되었습니다. 문자열 S가 주어졌을 때 뒤집어도 문자열 S가 나오는 가장 짧은 문자열 X를 출력하는 문제 입니다. 테스트 케이스가 100개 이하이고, 문자열 길이가 20 이하이기 때문에 시간 복잡도에 구애받지 않고 어렵게 생각하지 않고 풀어도 됩니다. 문제 이해하기 이렇게 앞으.. 2024. 3. 12.
2019년 정보올림피아드 필기 초등부(1~5) 2019년 정보 올림피아드 1차 필기 초등부 문제 풀이 입니다. 1번 (a, b), (b, c), (c, a) 총 3번 비교하면 됩니다. 조합을 구하는 문제로 초등부 문제에서는 3개중 2개를 비교하지만 중등부, 고등부에서는 계산을 직접 해야 합니다. $$ nC_r = _3C_2 = \frac{3 * 2}{2} = 3 $$ 2번 5명의 친구들을 2명씩 묶는 문제 입니다. 즉 조합을 이용하여 2명씩 묶는 것은 쉽게 구할 수 있습니다. 5 * 4 / 2 = 10이 됩니다. 10개의 조합이 나오니까 한쌍씩 악수를 한다면 10분이 걸립니다. 여기서는 5명이기 때문에 한 번에 두 쌍이 악수를 하고 한 명이 남습니다. 즉 2쌍씩 악수할 수 있으므로 총 5분이 걸립니다. 3번 5개의 원을 흰색 또는 회색으로 칠해야 합.. 2024. 3. 12.
파이썬 음수의 나머지 연산 나머지 연산은 프로그래밍에서 정말 많이 사용하는 연산자 입니다. 나머지 연산자(%)에 대해서 아직 잘 모른다면 아래 링크를 통해 확인 바랍니다. https://wikidocs.net/214915 08. 나머지 연산 [TOC] 실생활에서는 잘 사용하지 않지만 프로그래밍에서 많이 사용하는 연산중 하나가 나머지 연산 입니다. 나머지 연산은 모듈로(Modulo) 연산 이라고도 합니다. 나머지 연… wikidocs.net 음수를 양수로 나머지 연산하기 나머지 연산자를 활용하지만 아마도 음수의 나머지 연산은 어떻게 동작하는지 생각해 보지 않았을 것입니다. -21이라는 숫자를 5로 나눈 나머지를 구한다고 하겠습니다. 답이 무엇일지 생각해 보시기 바랍니다. a = -21 b = 5 print(a % b) a라는 숫자를.. 2024. 3. 11.
[백준 17619]2019 정올 2차 중등부 "개구리 점프" 문제 출처 : https://www.acmicpc.net/problem/17619 17619번: 개구리 점프 첫 번째 줄에 통나무 개수 N과 질문의 개수 Q가 주어진다. 다음 N개의 줄에 각 통나무에 x1, x2, y의 세 정수 좌표가 주어진다. 주어진 통나무는 두 점 (x1, y)와 (x2, y)를 잇는 형태이다. (x1 < x2) 모든 www.acmicpc.net 이 문제는 2019년 정보올림피아드 2차 대회 중등부 2번 문제 입니다. 문제 이해하기 이 문제는 점프를 얼마나 해서 이동할 수 있는지 묻는 문제가 아닙니다. 오직 이동이 가능한지, 불가능한지 묻는 문제 입니다. 즉 높이는 아무 상관 없이 길이가 겹쳐지는지를 따져서 연결 여부만 알 수 있으면 됩니다. 문제에서는 이렇게 길이와 높이가 나와 있.. 2024. 3. 7.
[백준 17615] 2019 정올 2차 초등부 "볼 모으기" 문제 출처 : https://www.acmicpc.net/problem/17615 17615번: 볼 모으기 첫 번째 줄에는 볼의 총 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 다음 줄에는 볼의 색깔을 나타내는 문자 R(빨간색 볼) 또는 B(파란색 볼)가 공백 없이 주어진다. 문자열에는 R 또는 B 중 한 종류만 주 www.acmicpc.net 이 문제는 2019년 정보 올림피아드 2차 대회 초등부 2번 문제 입니다. 알고리즘 이해하기 문제에는 제약 조건이 많기 때문에 잘 읽어봐야 합니다. 한가지 색깔만 옮길 수 있습니다. 처음에 빨간색을 옮기면 계속 빨간색만 옮겨야 합니다. 하나씩 옮기되, 최대한 멀리 옮겨야 최소 값을 얻을 수 있습니다. 이 두가지를 생각하면서 시뮬레이션 해보면 결국 우리가 .. 2024. 3. 6.
[백준 17618] 2019 정올 2차 중등부 "신기한 수" 문제 출처 : https://www.acmicpc.net/problem/17618 17618번: 신기한 수 평소에 수에 대한 관심이 많은 아이인 민철이는 오늘도 노트에 연필로 수를 더하거나 빼거나 곱하거나 나눠보면서 시간을 보내고 있다. 그러다가 18이라는 수는 신기한 성질을 가진다는 것을 알 www.acmicpc.net 이 문제는 2019년 정보올림피아드 2차 대회 중등부 1번 문제 입니다. 문제 난이도가 높지 않아 다빈치코딩 알고리즘에도 똑같이 작성해 놓았습니다. https://wikidocs.net/232738 02. 신기한 수(정올 2019)[백준 17618] 문제 출처 : [신기한 수](https://www.acmicpc.net/problem/17618) 이 문제는 2019년 정보올림피아드 2차.. 2024. 3. 5.
[백준 19940] 2020 정올 1차 초등부 "피자 오븐"(2) 문제 출처 : https://www.acmicpc.net/problem/19940 19940번: 피자 오븐 각각의 테스트 케이스마다 5개의 정수를 한 줄에 공백으로 구분해서 출력한다. 이 정수는 입력으로 주어진 시간을 만들기 위해서 ADDH, ADDT, MINT, ADDO, MINO 버튼을 누르는 횟수를 출력한 것이다. 최 www.acmicpc.net 피자 오븐 문제를 수학적으로 푸는 방법을 이전 포스팅을 통해 알아보았습니다. https://davincicoding.tistory.com/103 [백준 19940] 2020 정올 1차 초등부 "피자 오븐"(1) 문제 출처 : https://www.acmicpc.net/problem/19940 19940번: 피자 오븐 각각의 테스트 케이스마다 5개의 정수를 .. 2024. 3. 4.
[백준 19940] 2020 정올 1차 초등부 "피자 오븐"(1) 문제 출처 : https://www.acmicpc.net/problem/19940 19940번: 피자 오븐 각각의 테스트 케이스마다 5개의 정수를 한 줄에 공백으로 구분해서 출력한다. 이 정수는 입력으로 주어진 시간을 만들기 위해서 ADDH, ADDT, MINT, ADDO, MINO 버튼을 누르는 횟수를 출력한 것이다. 최 www.acmicpc.net 이 문제는 2020년 정보 올림피아드 초등부 2번 문제 입니다. 문제 이해하기 버튼을 어떻게 누르는 것이 더 적은 횟수로 누를 수 있는지 찾는 문제 입니다. 이런 문제는 직접 계산을 하던가, 알고리즘을 통해 최소 버튼 횟수를 찾는 방법이 있습니다. BFS를 사용하면 버튼의 최소 횟수를 찾을 수 있지만 여기서는 직접 계산하는 방법을 생각해 보겠습니다. 6분 .. 2024. 3. 3.
반응형