Koala - 7기/기초 알고리즘 스터디

1. 문제 11179번: 2진수 뒤집기 희연이는 스웨덴으로 이사하여 현재 학교를 다니고 있다. 1학년 교육과정은 중국에서 배웠고, 스웨덴과 중국 두 나라의 교육과정은 완전히 다르다. 희연이는 수학을 좋아한다. 하지만 지금은. www.acmicpc.net 입력받은 n을 2진법으로 나타낸 뒤, 2진법을 나타낸 수를 뒤집는다. 그리고 그 수를 다시 10진법으로 변환시켜 출력하는 문제이다. 2. 코드 n=int(input()) arr=bin(n) #10진수 n을 2진수로 변환 , arr타입은 str arr=arr[2:] #0b를 없애주자! 3번째 수부터 출력 arr_reverse=arr[::-1] #뒤집어주기 num=int(arr_reverse,2) print(num) 3. 문제풀이 - 우선 2진수와 10진수 ..
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제 문제 분석 나는 이 문제를 정상적인 체스판과 '다른' 부분들의 개수를 찾는 것이라고 생각했다. 여기서 정상적인 체스판이란 8 x 8의 W부터 시작하는 체스판과 B부터 시작하는 체스판, 2 종류이다. 프로그래밍이니 B와 W라는 표현은 적합하지 않으므로, 각각 0과 1로 치환하여 2차원 벡터를 만들었다. => 이 두 벡터는 chess1, chess2라 명명한다. 멀쩡한 체스판과 '다른' ..
2729번: 이진수 덧셈 (acmicpc.net) 2729번: 이진수 덧셈 이진수 덧셈은 매우 간단하고, 십진수 덧셈과 비슷하게 하면 된다. 십진수 덧셈을 할 때는, 오른쪽부터 왼쪽으로 차례대로 숫자 하나씩 더하면 된다. 이진수 덧셈도 이와 비슷하게 하면 된다. 십 www.acmicpc.net 문제분석 분류 수학 구현 사칙연산 문제설명 입력 출력 소스코드
문제 https://www.acmicpc.net/problem/14561 14561번: 회문 n진수는 base가 n인 수를 말한다. 예를 들어 십진수는 base가 10인 수이다. n진수의 수 AmAm-1Am-2…A1A0를 n진수로 표현해보면 AmAm-1Am-2…A1A0 = Am × nm + Am-1 × nm–1 + Am-2 × nm–2 + … + A1 × n1 + A0 × n0이다. www.acmicpc.net 코드 풀이 입력받은 m,n을 이용하여 n진수를 출력한다. 이때 m이 0일 경우 0을 출력한다.
https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 문제분석 0을 입력할 경우 스택에서 하나씩 값을 지운다. 소스코드 k = int(input()) money = list(int(input()) for _ in range(k)) money_list = [0] for i in range(k): if money[i] == 0: money_list.pop() else: money_list.append(money[i]) ..
https://www.acmicpc.net/problem/11068 11068번: 회문인 수 어떤 수를 왼쪽부터 읽어도, 오른쪽부터 읽어도 같을 때 이 수를 회문인 수라고 한다. 예를 들어, 747은 회문인 수이다. 255도 회문인 수인데, 16진수로 표현하면 FF이기 때문이다. 양의 정수를 입력 www.acmicpc.net 10진수를 입력 받고, 그 수를 2~64진수로 바꾼 수가 회문이 되는지를 확인하는 문제이다. 2~64진수로 바꾼 총 63개의 숫자 중 한 개라도 회문이 된다면 1을 출력, 그렇지 않다면 0을 출력하면 된다. 전형적인 회문 문제처럼 리스트에 {입력값%n진수}를 차곡 차곡 담는 방식으로 풀 수 있다. 다만, 문제의 예시처럼 15, 15를 각각 F, F로 바꿔주는 과정은 불필요하다. n진..
17502번: 클레어와 팰린드롬 (acmicpc.net) 17502번: 클레어와 팰린드롬 입력으로 주어진 문자열을 팰린드롬이 되도록 '?' 문자들을 적절한 알파벳 소문자들로 바꾸어 출력합니다. 방법이 여러 가지인 경우 그 중 하나만 출력합니다. www.acmicpc.net 문제분석 분류 구현 문자열 문제설명 입력 출력 소스코드
https://www.acmicpc.net/problem/14582 14582번: 오늘도 졌다 첫 번째 줄에는 9개의 정수가 주어지는데, 오늘 경기에서 울림 제미니스가 1회 초, 2회 초, ..., 9회 초에 낸 득점이 주어진다. 두 번째 줄에도 9개의 정수가 주어지는데, 스타트링크 걸리버스가 1회 www.acmicpc.net 문제 소스 코드 문제 풀이 G팀이 항상 승리하는 경우에서 그것이 역전승이면 "Yes" 아니면 "No" 출력 G팀의 역전승이 되려면 J팀이 점수를 낼 수 있는 9회 '초'까지 J팀의 점수가 앞서는 경우가 한 번 이상 있어야한다. J팀이 앞서는 경우가 있는지 경기의 '초'와 '말' 사이에 if문을 이용하여 확인했다.
[나의 풀이 방법] - 문자열을 받을 개수를 입력하고 그 수만큼 반복하며 문자열 입력 - 입력받은 문자열에서 문자를 가져와 ord 함수를 이용해 아스키 코드로 변환 - set로 만들어 중복 값이 없도록 설정 - 반복하면서 입력받은 문자의 아스키 코드가 아닌것들만 모음 - 더한 값을 출력
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 해석 연속되어 있는 단어들 중, 앞서 나온 단어가 후에 동떨어져서 출현한다면, 해당 단어는 그룹 단어가 아니다. 따라서 스트링으로 받고, 연속되는 지점이 끊기는 지점 (ex- aaabc에서 마지막 a에 해당하는 지점)에서 해당 문자가 뒤쪽 스트링에 나타나는지 확인하여 나타난다면 no를, 나타나지 않는다면 yes를 출력한다. 코드
코드 n = input() ans = n[::-1] if ans in n : print('true') else : print('false')
문제 도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는다. 정확하게 24시간이 되는 순간이 아니면 잡지 않는 CTU 특수요원이다. 2008년 3월 3일 월요일, CTU는 새학기에 맞춰 핵폭탄을 날리겠다는 테러 정보를 입수했다. CTU에서는 특수요원 도현이에게 이 임무를 맡겼다. CTU의 프로그래머 준규는 이 사건의 배후가 김선영이란 것을 해킹을 통해 밝혀내었다. 도현이는 선영이를 임무를 시작한지 정확하게 24시간이 되는 순간에 잡으려고 한다. 만약 지금 시간이 13:52:30이고, 임무를 시작한 시간이 14:00:00 이라면 도현이에게 남은시..
KauKoala
'Koala - 7기/기초 알고리즘 스터디' 카테고리의 글 목록 (3 Page)