1. 문제 2. 풀이 코드 a,b=input().split("(^0^)") a_cnt=a.count('@') b_cnt=b.count('@') print(a_cnt,b_cnt) 3. 해설 -^0^을 기준으로 앞과 뒤의 잔상 수를 묻는 문제이다. - count()함수를 이용하여 @의 개수를 세어준다 !
전체 글
항공대 알고리즘 동아리 Koala 🥰https://www.acmicpc.net/problem/13565 13565번: 침투 첫째 줄에는 격자의 크기를 나타내는 M (2 ≤ M ≤ 1,000) 과 N (2 ≤ N ≤ 1,000) 이 주어진다. M줄에 걸쳐서, N개의 0 또는 1 이 공백 없이 주어진다. 0은 전류가 잘 통하는 흰색, 1은 전류가 통하지 않 www.acmicpc.net 전형적인 bfs 문제풀이 방식으로 해결 가능하다. 다만 특징은, 첫번째 행에서 시작한 것이 마지막 행까지 도착하는 지를 체크해야한다. 다른 행에서 시작하는 것은 의미가 없다. bfs 문제라는 것을 파악 후, 생각없이 전형적인 bfs코드를 거의 다 썼을 때쯤 잘못된 것을 깨달았다. 보통의 문제라면 어느 행이든 상관없이 bfs 탐색을 시작해주면 됐는데, 이 문제는 ..
1110번: 더하기 사이클 (acmicpc.net) 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제분석 분류 수학 구현 문제설명 입력 출력 소스코드
https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 소스코드 문제풀이 백트래킹 문제의 대표적인 문제라고 한다. 혼자 그림을 그려서 생각해보면 아 이런식으로 풀어야겠구나 라는 생각은 금방 들지만 재귀를 이용해서 구현하기 어려웠다.(백트래킹 문제는 많이 풀어보는 수밖에 없는거같다) 한 곳에 뒀을 때 퀸을 둘 수 있는 곳에만 두는 식으로 점점 숫자를 늘려가며, 어느 곳에도 퀸을 둘 수 없으면 이 곳에 두면 안된다고 체크하고 되돌려놓는 형태로 풀면 된다. (N과 M 풀때..
안녕하세요! 한국항공대학교 알고리즘 학회 Koala에서 이번 2학기에 공부하실 분들을 모집합니다! 저희 학회는 프로그래밍 문제 해결 역량을 중요시 하는 현재 기업 채용 추세에 맞춰 알고리즘 스터디를 교외에서 찾을 필요 없이 우리 학교 학생들과 함께 혼자 접근하기 어려운 알고리즘을 다 같이 공부하자는 취지로 만들어졌습니다! 😀저희 학회는 이런 분들에게 추천합니다! ✔알고리즘에 관심이 있으신 분! ✔코딩 꾸준히 해야 한다고 생각하는데 혼자하면 안되는 분! ✔삼성, 카카오, 네이버, 라인 등 기업 코딩 테스트에 통과하고 싶은데 정보가 없으신 분! ✔ACM-ICPC, 삼성 SCPC, UCPC, KAUPC 등 알고리즘 대회에 참가하고 싶은데 정보가 없거나 같이 공부할 사람이 없으신 분! 2022년 여름방학 학회 ..
0. Q & A - 다른 언어로 문제를 풀어도 상관이 없나요? 문제 자료에 나오는 코드가 파이썬, C++이라 해당 코드를 읽을 줄 아시면 상관은 없습니다. - 모의 테스트는 어떻게 진행되나요? 백준 - 그룹 - 연습 기능을 사용하여 백준 문제를 제공할 예정입니다. - 문제는 얼마나 풀게 되는 것인가요? 기초 알고리즘 스터디: 주차마다 다르지만 보통 20문제 내외로 풀게 됩니다. 코딩테스트 준비 스터디: 일주일에 8문제를 풀게 됩니다. - 모의 테스트 예시 1. 알고리즘 기초 스터디 대상 - 본격적인 알고리즘 지식을 배우기 전에 기본적인 구현 실력을 쌓고 싶으신 분 - 1학년 코딩 수업을 들으신 분들 사용 언어 - Python 3 계획 1. 깃북 자료를 읽은 후 깃북에 나와있는 알고리즘 문제를 통해 공부를..
문제 https://www.acmicpc.net/problem/11383 11383번: 뚊 입력의 첫 번째 줄에 N, M (1 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄의 각 줄에는 M개의 문자가 주어진다. 다음 N개의 줄의 각 줄에는 2M개의 문자가 주어진다. 모든 문자는 영문 알파벳 대문자 혹 www.acmicpc.net 코드 풀이 N번동안 문자를 입력받고 M번동안 새로운 리스트에 두번 넣어서 늘린 문자와 똑같은 문자가 되게 만든다. if문을 사용하여 늘린 문자와 입력받은 문자가 같지 않을 경우 flag를 걸어서 확인한다.
https://www.acmicpc.net/problem/15351 15351번: 인생 점수 어떤 사람이 무엇을 즐기느냐에 따라 그 사람의 인생 점수를 측정할 수 있다. A를 1점, B를 2점, ... , Z를 26점으로 해, 즐기는 것의 이름의 알파벳 점수를 모두 더하면 된다. 예를 들어, "OTAKU LIFE" 는 www.acmicpc.net 문제분석 입력하는 문자열을 알파벳 순서대로 점수로 환산해 최종 합을 출력한다. 소스코드 n=int(input()) for i in range(n): a=input() score=0 for j in a: if j == " ": continue else: a_score=ord(j)-64 score+=a_score if score==100: print('PERFECT..
백준 13424 비밀 모임 Intro Solution 다익스트라 알고리즘을 알고 있다면 쉽게 풀 수 있다. 다익스트라 알고리즘을 이용해 모든 친구들의 이동 비용을 구하여 저장한다. N은 최대 100이므로 K * N은 최대 10000, 친구들의 이동 비용의 합을 도착지마다 구하여 비교하여도 시간 제한을 통과할 수 있다. Code import sys, heapq input = sys.stdin.readline def dijkstra(n, graph, start): cost = [float('inf')] * (n+1) cost[start] = 0 hq = [(cost[start], start)] while hq: t, x = heapq.heappop(hq) if cost[x] != t: continue for..
문제 풀이 일단 이 문제를 보면 저 같은 경우에 초가 아닌 분으로 계산하여 풀 경우를 생각해 보았습니다 그래서 초는 3600을 곱하여 푸는 경우보다는 일단 입력한 T값을 60으로 나누고 그걸 입력한 b값에 넣은 다음 a에 T를 60으로 나눈 몫을 더해줍니다. 그리고 나머지는 b에 저장하고 그리고 a가 24시간이 넘을 경우에는 뺴기 24를 해준 다음 a값에 저장하면 끝납니다. 문제 코드 a,b=map(int,input().split()) T=int(input()) b+=T if b>=60:a+=(b//60);b=b%60 if a>=24:a=a-24 print(a,b)
https://www.acmicpc.net/problem/8989 8989번: 시계 기원이의 방에는 시침과 분침으로 이루어진 아날로그 시계가 있다. 기원이는 시침과 분침이 형성하는 각도 중 작은 각도를 측정하는 것이 취미이며, 이 각도는 0보다 크거나 같고 180보다 작거나 www.acmicpc.net 5개의 시간(시계)을 입력받고, 시계의 시침과 분침이 이루는 각도 (두 각도 중 작은 각도)를 구해서 오름차순으로 나열한다. 5개 중 가운데(3번째) 위치하는 시간을 찾는 문제이다. 시침과 분침이 가리키는 각도를 계산하는 문제라고 할 수 있다. 코드가 많이 지저분하지만, 리뷰도 할겸 최초 제출 코드로 올려본다. 분침이 가리키는 각도는 그 숫자에 비례하기 때문에 쉽게 생각할 수 있고, 시침은 분과 연계해서..
https://www.acmicpc.net/problem/13424 13424번: 비밀 모임 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 방 www.acmicpc.net 문제분석 분류 그래프 이론, 다익스트라, 플로이드-워셜 문제설명 N개의 방, M개의 비밀통로, K명의 친구들 모임에 참여하는 친구들은 N개의 방 중에서 한 군데씩에 각각 위치해있다. 이들은 항상 처음 위치에서 모임 장소까지의 이동 거리가 가장 짧은 경로만을 이용한다. 모임에 참석하는 친구들의 이동 거리의 총합이 최소가 되는 방을 오늘의 모임 장소로 사용한다. 친구들의 이동 거리의 총합이 최소가 되..