전체 글
-
백준 1357번, 뒤집힌 덧셈 [파이썬]코딩/파이썬 2023. 5. 3. 10:49
♣문제 https://www.acmicpc.net/problem/1357 1357번: 뒤집힌 덧셈 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev( www.acmicpc.net ♣풀이 X, Y = input().split() RevX = int(X[::-1]) RevY = int(Y[::-1]) sum = RevX+RevY sum = str(sum) RevSum = sum[::-1].lstrip('0') #왼쪽에 붙은 0을 모두 제거해준다. print(RevSum) ♣코멘트 lstrip의 활용이 중요한 문제이다. 브..
-
파이썬을 통해 피그라틴을 만들어보자!코딩/파이썬 2023. 4. 12. 16:53
파이썬 공부하면서 처음으로 알게된 '피그라틴'이라는 재밌는 말장난(?)에 대해 포스팅해보려고 한다. '라틴'이 붙은 이유가 라틴어같이 덜 익숙한 느낌이 나서 그런다는 카더라가 있는데 사실인지는 잘 모르겠다. 피그라틴의 규칙은 여러가지가 있는데 가장 쉬운 규칙으로 표현해보려고 한다. (1) 맨 앞글자를 어미로 보낸다. (2) 맨 앞글자를 어미로 보낸 단어의 뒤에 ay를 붙인다. 'apple'이라는 단어를 예로 들면 apple > pplea > ppleaay 로 바꿔 볼 수 있겠다. 아래 작성된 파이썬 코드에서는 입력된 단어를 피그라틴으로 바꾸고, 다시 원래대로 복호화 하는 과정이다. ♣코드 word = input("단어를 입력하시오: ") new_word = word[1:] + word[0] + "ay" ..
-
백준 1676번, ATM [파이썬]코딩/파이썬 2023. 4. 9. 20:23
♣문제 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net ♣풀이 N = int(input()) pi = list(map(int, input().split())) # 한 줄로 입력 받은 것들을 입력 받은 동시에 리스트로 만들기 pi.sort() # 오름차순 정렬 storage = 0 # 아래 while문에서 sum에 저장된 것을 다시 저장할 때 쓰임 sum = 0 i = 0 while i < len(pi): sum = sum + pi[i] storage += sum i += 1..
-
[파이썬] 백준 1676번, 팩토리얼 0의 개수코딩/파이썬 2023. 4. 7. 06:22
[파이썬] 백준 1676번, 팩토리얼 0의 개수 ♣문제 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net ♣풀이 # 변수k는 N!(팩토리얼)이다. N = int(input()) k = 1 for i in range(1, N+1): k *= i # k를 문자열로 변환 str_k = str(k) result = 0 # 문자열의 마지막 글자([-1])부터 0인지 확인하고 0일경우 +1 for i in range(len(str_k)): if str_k[-(i+1)] == "0": result += 1 continue else: break ..
-
[파이썬] 백준 1526번, 가장 큰 금민수코딩/파이썬 2023. 4. 6. 23:26
[파이썬] 백준 1526번, 가장 큰 금민수 첫 글이긴 하지만 딱히 쓸 말도 없으니 오늘 열심히 풀어본 문제를 리뷰할 겸 올려본다. ♣ 문제 https://www.acmicpc.net/problem/1526 1526번: 가장 큰 금민수 첫째 줄에 N이 주어진다. N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net ♣ 풀이 N = int(input()) # N을 문자열로 바꾸고 4나 7만으로 이루어져있으면 N을 그대로 출력함 if all(c in "47" for c in str(N)): print(N) # N이 '금민수'가 아닐 경우에는 1씩 쭉 빼서 다시 '금민수'가 되면 N을 출력하고 while문 종료 else: while True: N -= 1 if a..