[python] 백준 2729번 이진수 덧셈
알고리즘/백준2022. 3. 1. 21:28[python] 백준 2729번 이진수 덧셈

문제 풀이 간단하게 두 문자열을 받아 해당 문자를 정수로 바꿔준다. 바뀐 두 정수의 합을 구해 bin() 함수로 감싸주면 0b~~~~ 로 시작하는 이진수가 출력이 되는데 해당 0b를 잘라주어 출력해주면 된다. 완성된 코드!!😊👍 t = int(input()) for _ in range(t): n1, n2 = input().split() print(bin(int(n1, 2) + int(n2, 2))[2:])

[python] 백준 1120번 문자열
알고리즘/백준2022. 2. 27. 22:41[python] 백준 1120번 문자열

문제 풀이 문제 조건을 보면 A의 길이는 B의 길이보다 작다. A와 B의 길이가 같을 경우 B의 문자열 중에 A의 문자열 중에 어느 문자가 다른지를 판별해주어 개수를 세주면된다. 아래의 그림을 보면 A에 hello, B에 xello가 들어왔을때 for문을 돌려 각각의 요소들이 같은지 다른지를 판별해 개수를 세서 리턴해주면 된다. A와 B의 길이가 다를 경우 방법은 같은 경우의 방법과 유사하다. 아래의 그림을 보면 A에 abc, B에 topabcoder가 들어왔을때 해당 B의 문자열을 abc로 비교할 수 있는 횟수는 총 8번이다. B의 문자열들을 인덱스 값을 하나씩 증가시켜가며 대조하는 것으로 보면 된다. 총 8번을 비교하여 그 중 최소를 출력해주면 된다. 완성된 코드!!👍😊 def same_len(a, ..

[python] 백준 5217번 쌍의 합
알고리즘/백준2022. 1. 14. 10:14[python] 백준 5217번 쌍의 합

입력 첫 번째 줄에는 테스트 케이스 수 두 번째 줄 ~ 네 번째 줄까지 n 출력 n에 대한 순서 쌍 문제 풀이 간단하게 그림을 그리면 사칙 연산으로 순서 쌍을 나눌 수 있다. 순서 쌍을 이루는 수들은 서로 달라야 하기 때문에 4일 때 2 2는 순서 쌍이 되지 않는다. 해당 부분만 주의하면 쉽게 코드를 짤 수 있다. 완성된 코드!!👍 for _ in range(int(input())): x = int(input()) n = x//2 l = [] for i in range(1, n+1): if i < x - i: l.append(f'{i} {x - i}') print(f'Pairs for {x}: ' + ', '.join(val for val in l))

[python] 백준 15233번 Final Score
알고리즘/백준2022. 1. 2. 18:13[python] 백준 15233번 Final Score

입력 첫 번째 줄에는 A팀 인원수, B팀 인원수, 득점한 선수 인원수 두 번째 줄에는 A팀 선수들의 이름 세 번째 줄에는 B팀 선수들의 이름 네 번째 줄에는 득점한 선수들의 이름 출력 득점한 인원이 더 많은 선수팀 출력, A팀과 B팀의 득점한 인원이 같을 때 "TIE" 출력 문제 풀이 간단하게 득점한 선수가 A팀, B팀에 얼마나 있는지 확인하여 결과값을 출력해주면 된다. 또 중복된 코드가 있어서 함수를 하나 만들어 불필요한 코드를 없앴다. 완성된 코드!!👍 def p_count(p_l): cnt = 0 for val in p_l: cnt += g_p.count(val) return cnt a,b,p = map(int, input().split()) a_p = input().split() b_p = inp..

[python] 백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰
알고리즘/백준2021. 11. 26. 22:00[python] 백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰

문제 풀이 문제에 있는 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수를 리스트에 저장해두고 입력을 다른 리스트에 받아 두 리스트의 차이값을 출력하면 되는 문제이다. 완성된 코드!!👍😊 chess = [1, 1, 2, 2, 2, 8] count = list(map(int, input().split())) for i in range(len(chess)): chess[i] -= count[i] print(' '.join(map(str, chess)))

[python] 백준 2161번 카드1
알고리즘/백준2021. 11. 25. 21:18[python] 백준 2161번 카드1

문제 풀이 문제에서 N=4인 경우에 버린 카드는 1 3 2가 되고 남는 카드는 4가 되어 출력 결과가 1 3 2 4가 되길래 짝수 홀수로 나누면 될 줄 알았다. 하지만 테스트 케이스 1번에서 출력 결과가 1 3 5 7 4 2 6이 되는 것에 대해서 도무지 이해가 안 되어 결국 그림을 그려 이해를 하고 어떻게 하면 풀 수 있을지를 알아냈다. 그림에서와 같이 cnt 값에 따라서의 2가지의 작업을 돌리면 되었다. 1. cnt가 홀수면 첫 번째 원소 값을 원래 리스트에서 pop 하고 다른 리스트에 append 2. cnt가 짝수면 첫 번째 원소 값을 원래 리스트에 append 하고 원래 리스트에서 첫 번째 위치에 있는 원소 값을 pop 대부분의 사람들은 데크(dequeue)로 푸셨던데 아직 본인은 쓸 줄 몰라 ..

[python] 백준 1598번 꼬리를 무는 숫자 나열
알고리즘/백준2021. 11. 23. 22:44[python] 백준 1598번 꼬리를 무는 숫자 나열

문제 풀이 두 수의 제한 조건은 10,000,000 이하. 입력을 1과 10000000을 입력받았을 때, 반복문으로 배열을 생성하게 되면... 시간 초과가 날게 분명해서 반복문은 아닐 거라 판단했다. 규칙이 보일거라 생각한다. 입력받은 값에서 1을 빼면 몫과 나머지의 값들이 행열의 값들과 일치하고 입력받은 각각의 행열들의 사칙연산을 하고 절대값을 씌워주면 직선거리 값이 나온다는 것을 알 수 있다. 완성된 코드!👍😊 a, b = map(int, input().split()) a -= 1 b -= 1 print(abs(a // 4 - b // 4) + abs(a % 4 - b % 4))

image