알고리즘 공부💥/JUNGOL 49

[jungol] Beginner_Coder / 여러가지 / 1438 / 색종이(초) / python

1438 : 색종이(초) 제한시간1000 ms 메모리제한32 MB 해결횟수804 회 시도횟수1240 회 문제 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오. 예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다. 입력형식 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는..

[jungol] Beginner_Coder / 문자열 / 3699 / 변장 / python

3699 : 변장 제한시간1000 ms 메모리제한256 MB 해결횟수322 회 시도횟수904 회 문제 정올이는 스파이 이다. 변장술의 달인으로 이전과 같은 조합의 의상을 입고 밖을 나가지 않는다. 어제 안경, 코트, 신발을 입었다면 오늘은 안경대신에 썬그라스를 쓰거나 바지를 추가로 입거나 한다. 정올이가 가진 의상(장신구포함)​에 대한 정보를 입력받아 정올이가 적어도 하나 이상의 의상(장신구포함)​을 갖춘 상태로 밖을 나갈 수 있는 날은 며칠이나 될까? 예를 들어 3개의 의상이 아래와 같이 주어졌다고 하자. hat headgear sunglasses eyewear turban headgear​ 이 경우 ​headgear​에 해당하는 의상이 hat, turban이고 eyewear​에 해당하는 의상이 sun..

[jungol] Beginner_Coder / 문자열 / 1516 / 단어 세기 / python

1516 : 단어 세기 제한시간1000 ms 메모리제한32 MB 해결횟수1010 회 시도횟수2408 회 문제 Korean English 임의의 문장을 입력받아 각 단어별로 나눈 후에 단어들의 중복되는 개수를 구하는 프로그램을 작성하시오. (1) 입력된 스트링은 글자의 제한은 없다. 즉, 알파벳 대.소문자, 공백, ', ' 등도 입력으로 들어 올 수 있다. (2) 입력된 문장에서 각 단어사이의 구분은 공백으로 한다. (3) 단어에는 공백을 제외한 모든 문자들이 포함된다.​ 입력형식 임의의 문장을 입력받는다.(문장의 길이는 200 이하) 하나의 결과가 나온 후에도 계속 새로운 입력을 받다가, "END"가 입력되면 프로그램을 종료한다. (문장의 개수를 30을 넘지 않는다.) 출력형식 각 문장 단위로 단어들의 ..

[jungol] Beginner_Coder / 문자열 / 1880 / 암호풀기 / python

1880 : 암호풀기(Message Decoding) 제한시간1000 ms 메모리제한128 MB 해결횟수781 회 시도횟수2588 회 문제 최근 농부 창호에게서 메시지를 암호화(encryption)에 대해서 배운 소들은 너무나 신이 나있다. 그들은 다른 농장의 소들과 미팅을 할 때 은밀한 메시지를 사용할 경우 이 방법을 사용할 수 있을 것이라고 생각했다. 소들이 사용하는 암호화 방법은 복잡한 DES 혹은 BlowFish 와 같은 좋은 방법이 아니고 단순히 치환 하는 암호화 기법이다. 소들의 경우 복호화(암호를 해독함)하는 시간이 오래 걸리기 때문에, 소들과 대화를 할 수 있는 당신에게 복호화 키와 암호 문자를 입력으로 받아 원문을 구하는 프로그램을 구현 해주기를 요청했다. 복호화 키는 26개의 소문자로 ..

[jungol] Beginner_Coder / 문자열 / 2857 / 세로읽기 / python

2857 : 세로읽기 제한시간1000 ms 메모리제한128 MB 해결횟수724 회 시도횟수1532 회 문제 아직 글을 모르는 영석이가 벽에 걸린 칠판에 자석이 붙어있는 글자들을 붙이는 장난감을 가지고 놀고 있다. 이 장난감에 있는 글자들은 영어 대문자 ‘A’부터‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다. 다시 그 아래쪽에 글자들을 붙여서 또 다른 단어를 만든다. 이런 식으로 다섯 개의 단어를 만든다. 아래 그림 1은 영석이가 칠판에 붙여 만든 단어들의 예이다. 한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로다를 수 있다. 심..

[jungol] Beginner_Coder / 문자열 / 2514 / 문자열찾기 / python

2514 : 문자열 찾기 제한시간1000 ms 메모리제한32 MB 해결횟수946 회 시도횟수1351 회 문제 주어진 문자열에서 연속 3개의 문자가 IOI 이거나 KOI인 문자열이 각각 몇 개 있는지 찾는 프로그램을 작성하라. 문자열은 알파벳의 대문자로만 이루어진다. 예를 들어 "KOIOIOI"라는 문자열은 KOI 1개 , IOI 2개가 포함되어있다. 입력형식 입력은 한 줄이며 10,000자 이하의 알파벳 대문자로 구성된다. 출력형식 출력은 2줄이며, 첫 번째 줄에는 KOI의 개수, 두 번째 줄에는 IOI의 개수를 각각 출력하라. 입력 KOIOIOI 출력 1 2 입력 KORKDIOIDXHKOIOIOIOPKOI 출력 2 3 http://www.jungol.co.kr/bbs/board.php?bo_table=..

[jungol] Beginner_Coder / 문자열 / 2604 / 그릇 / python

2604 : 그릇 제한시간1000 ms 메모리제한0 MB 해결횟수840 회 시도횟수1182 회 문제 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. 그릇을 괄호 기호로 나타내어 설명해보자. 편의상 그릇이 쌓여지는 방향은 왼쪽에서 오른쪽이라고 가정한다. 그림에서 ‘(’은 그릇이 바닥에 바로 놓인 상태를 나타내며, ‘)’은 그릇이 거꾸로 놓인 상태를 나타낸다. 만일 그릇이 포개진 모양이 아래 그림 1(a)와 같다면 전체의 높이는 25cm가 된다. 왜냐하면 처음 바닥에 있는 그릇의 높이가 10cm이고 이후 같은 방향으로 3개의 그릇이 포개져 있으므로 늘어..

[jungol] Beginner_Coder / 수학2 / 1534 / 10진수를 2,8,16진수로 / python

1534 : 10진수를 2,8,16진수로 제한시간1000 ms 메모리제한32 MB 해결횟수554 회 시도횟수1098 회 문제 10진수를 입력 받아서 2, 8, 16진수로 바꾸어 출력하는 프로그램을 작성하시오. 입력형식 입력의 첫줄에는 10진수 N(1≤N≤100,000)과 바꿀 진수 B(2, 8, 16)가 공백으로 구분하여 입력된다. 16진수에서 10이상의 수는 순서대로 'A', 'B', 'C', 'D', 'E', 'F'로 나타낸다. 출력형식 입력받은 10진수를 B진수로 바꾸어 출력한다. 입력 27 2 출력 11011 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=806&sca=2040 JUNGOL www.jungol.co.kr 💥접근법 10진법을..

[jungol] Beginner_Coder / 수학2 / 2814 / 이진수 / python

2814 : 이진수 제한시간1000 ms 메모리제한128 MB 해결횟수537 회 시도횟수831 회 문제 컴퓨터는 내부적으로 0과 1 두 개의 숫자만을 사용하여 모든 프로그램이 동작된다. 이렇게 두 개의 숫자만으로 이루어진 수를 이진수라 한다. 2진수를 입력받아 10진수로 변환하여 출력하는 프로그램을 작성하시오. 입력형식 0과 1로만 이루어져 있는 30자리 이하의 2진수를 입력받는다. 출력형식 입력된 2진수를 10진수로 변환하여 출력한다. 입력 10101 출력 21 💥Think Think 입력받은 이진수를 순회하며 1이면 자릿수에 맞게 2의 N승을 정답에 더해가주면 되겠다! 다만 뒤에서부터 for문을 돌리던가 뒤집어서 돌려야 인덱스를 이용하여 효율적으로 답을 구할 수 있다. 👀코드구현

[jungol] Beginner_Coder / 수학2 / 1901 / 소수구하기 / python

1901 : 소수 구하기 제한시간1000 ms 메모리제한64 MB 해결횟수701 회 시도횟수1805 회 문제 소수(prime number)란 2이상의 수로써 1과 자기 자신 외에는 약수를 갖지 않는 수를 의미한다. 임의의 M값에 대하여 M에 가장 가까운 소수를 구하는 프로그램을 아래 조건에 따라 작성한다. 입력형식 첫 번째 줄에는 처리해야 할 수의 개수 N을 입력 받는다. (N은 100이하의 정수) 다음 줄에는 처리해야할 수 N개(M1부터 Mn까지)를 한 줄에 한 개씩 차례로 입력 받는다. (Mi 는 1,000,000 이하의 양의 정수) 데이터의 크기가 주어진 범위를 벗어나는 입력은 없다. 출력형식 임의의 값 Mi에 대해 차이가 가장 작은 소수를 구하여 출력한다. 만약 차이가 같은 소수가 여러 개이면 작..