Koala - 13기

beginning 에서 target 으로 가려고 한다. 우선 바꿔져야 하는 곳을 1로 표현해보면 아래와 같이 change_spot을 만들 수 있다. change_spot을 만들어보면 특징을 볼 수 있는데, 행 별로 서로 같거나, 반전된 비트이다. 1 0 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 이를 우선적으로 체크해서 만약 같거나 반전되지 않는 경우가 있다면 -1을 return 하고, 그렇지 않다면 된다는 가정 하에 최소 경우의 수를 찾는다. def solution(beginning, target): answer = 0 row = len(beginning[0]); col = len(beginning) #열, 행 change_spot = [['0' for _ in ..
문제설명 https://www.acmicpc.net/problem/15351 코드 n=int(input()) for i in range(n): m=input() m=list(m) sum=0 for j in m: if j==" ": continue #print(n) else: scores=ord(j)-64 sum+=scores if sum==100: print("PERFECT LIFE") else: print(sum) 문제풀이 1)값을 입력받는다 2)공백은 넘어가면서 대문자를 아스키코드 번호로 변환해주는 반복문을 작성한다 3)이렇게 문자열에있는 문자들의 아스키코드 번호값을 모두 더해준다 4)100점인 경우에는 perfect life 그렇지 않은경우에는 점수를 출력하는 조건문을 작성한다
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제요약 격자에 바이러스가 위치한 좌표, 벽의 좌표가 표시되어있다. 벽을 3개 세워서 바이러스가 퍼지지 않는 곳의 최대넓이를 구하라. 문제해결 시뮬레이션 단계에 따라 각각 그래프 순회를 해야한다. 먼저 주어진 격자의 정보를 입력 받고, 벽을 3개 세울 때는 원본정보가 변하지 않게 다른 격자에다가 복사를 한 뒤 시뮬레이션을 한다. 벽을 시뮬레이션할 때는 DFS를 적용하였다. 벽을 다 세운뒤에는 바이러스 확산을 ..
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 유형 그래프 탐색 (DFS(깊이 우선 탐색), BFS(너비 우선 탐색)) 문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점..
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가..
문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대한 가깝게 만들어야 한다. N장의 카드에 써져 있는 숫자가 주어졌을 때, ..
https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 큐와 스택을 이용해 풀었다. 입력받는 수들을 리스트와 큐에 넣고, 리스트를 정렬하여서 내가 원하는 수(최소값부터 나갈 수 있으니)들을 리스트의 원소들을 설정해놓았다. 이런식으로 풀었는데 결론적으로 문제에 나와있는 그림을 스택과 큐를 이용해 구현했다.
문제 해설 처음에 모든 경우의 수를 검사하는 코드를 작성했는데, 시간초과가 난 문제이다. 모든 경우의 수를 검사하지 말고 각 의상의 종류에 아무것도 입지 않을 경우 1을 더하고, 각 의상의 종류 가짓수를 곱해주고, 아무것도 입지 않을 경우 1을 빼준다. 코드 import sys input = sys.stdin.readline def main(): for _ in range(int(input().strip())): dic = {} ans = 1 for _ in range(int(input().strip())): _, t = map(str, input().split()) dic[t] = dic[t] + 1 if t in dic else 2 for i in dic: ans *= dic[i] print(ans ..
문제 https://www.acmicpc.net/problem/5567 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net Algorithm 문제에서 상근이의 친구와 친구의 친구를 초대한다고 하였으므로 bfs나 dfs를 상근이를 기준으로 1번한 후에 상근이와 연결된 간선만 탐색하면 되는 문제이다. 문제에서 제시된 입력을 토대로 graph배열을 만들고, 1을 기준으로하여 탐색후 invited배열에 적용한다. 그 후에 1과 연결된 정점을 탐사한 후에 탐색을 종료한다. 이때, 1도 탐사를 하여 1이 된 ..
고등학교때 배웠던 원의 방정식을 활용하여 문제를 해결하였다. 두 원의 위치와 반지름이 주어졌을 때, 두 원이 서로 교차하는지, 접하는지, 겹치는지, 아니면 아무 관계도 없는지를 판별하는 프로그램을 구현하면 된다. 테스트 케이스의 수를 입력받는다. 각 테스트 케이스마다 두 원의 중심 좌표와 반지름을 입력받는다. 두 원의 중심 사이의 거리를 계산한다. 두 원의 반지름의 차이를 계산한다. 두 원의 관계를 판별하고 결과를 출력한다. 결과값(res)은 다음과 같이 설정한다. -1: 두 원이 동심원이고 반지름이 같은 경우 0: 두 원이 아무 관계도 없는 경우 1: 두 원이 서로 교차하거나 한 원이 다른 원을 포함하는 경우 2: 두 원이 서로 접하는 경우 즉, 두 원의 중심 사이의 거리를 계산한 뒤, 각 원의 반지름..
https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 코드 #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long using namespace std; struct Student { string nam; int kor; int eng; in..
KauKoala
'Koala - 13기' 카테고리의 글 목록 (2 Page)