Algorithm272 [ 파이썬(python) ] 백준 10813 - 공 바꾸기 📍 백준 10813 - 공 바꾸기 백준 10813 - 공 바꾸기 ⚡️ 나의 풀이 입력으로 들어온 값을 baskets의 index를 바꿔주면 된다. 팁은 lambda 함수를 통해 입력으로 들어올 때 공통으로 원하는 값을 빼줄 수 있다. (참고) n, m = map(int, input().split()) baskets = [i for i in range(1, n+1)] for _ in range(m): a, b = map(lambda x: int(x)-1, input().split()) baskets[a], baskets[b] = baskets[b], baskets[a] print(*baskets) 2021. 7. 19. [ 파이썬(python) ] 백준 10804 - 카드 역배치 📍 백준 10804 - 카드 역배치 백준 10804 - 카드 역배치 ⚡️ 나의 풀이 카드를 0부터 20까지 선언한다 (0을 추가한 이유는 index를 편하게 계산하기 위해서) 카드 뒤바꿀 범위를 입력 받는다. 새로운 변수에 카드를 뒤바꿀 위치만 [::-1] 선언하고 뒤바꾸지 않는 범위는 그대로 붙인다. (slicing의 특징은 end 범위는 포함하지 않는 것이다.) 새로운 변수를 이전 변수에 덮어씌운다. 반복 ~ 마지막에는 맨 처음 값을 제외하고 나머지 값만 출력한다. arr = [i for i in range(0, 21)] for _ in range(10): a, b = map(int, input().split()) b += 1 arr_ = arr[:a] + arr[a: b][::-1] + arr[b:.. 2021. 7. 18. [ 파이썬(python) ] 백준 18110 - solved.ac 📍 백준 18110 - solved.ac 백준 18110 - solved.ac 💡 나의 풀이 단순 round 함수로만 풀었더니 오답판정이 나온 문제였다. 난이도가 딱히 어렵지 않은데 왜 실버 4인가 했더니 부동소수점을 이해하고 있어야만 문제를 풀 수 있어서였다. 절사평균과 반올림에 관해 작성한 이전글을 보면 조금이나마 이해 할 수 있다. 의견이 없는 경우와 있는 경우로 나누어 푼다. 없는 경우는 print(0)을 출력한다. 있는 경우는 절사평균 -> 정렬 -> 슬라이싱의 과정을 거친다. 이때, round 함수는 사사오입 반올림이 적용되게 만든다. # 나의 코드 import sys input = sys.stdin.readline def round2(num): return int(num) + (1 if nu.. 2021. 7. 13. [ 파이썬(python) ] 백준 17952 - 과제는 끝나지 않아! 📍 백준 17952 - 과제는 끝나지 않아! 문제: 백준 17952 - 과제는 끝나지 않아! 💡 나의 풀이 flag[0]이 0인 경우와 1인 경우로 나누어 작성했다. flag[0]가 0일 때 stack이 존재하면 맨 뒤에부터 시간을 확인하여 0인 경우에는 score에 추가하고 0이 아닌경우에는 시간이 흐르게 -= 1을 해준다. flag[0]가 1이면, 과제를 받자마자 시작하기 때문에 -1을 해준 상태로 넣는다. 그런데 이런 방법으로 풀지 않더라도 다른 코드를 보니까 코드를 반절로 줄일 수 있었다. 바로 시간과 점수 변수를 각각 선언하고 계산하는 방식이다. flag[0]이 1인 경우만 고려한다 만약, flag[0]이 1이라면 score와 time에 각각 해당 값을 넣는다. time에 값이 남으면 time .. 2021. 7. 12. [ 파이썬(python) ] 백준 20001 - 고무오리 디버깅 📍 백준 20001 - 고무오리 디버깅 문제: 백준 20001 - 고무오리 디버깅 💡 나의 풀이 고무오리를 이용해서 푸는 귀여운 문제다. 그런데 입력이 숫자가 아닌 문자여서 입력 횟수가 많으면 어쩌지(?)라는 생각을 잠깐 했으나 python으로 실행시간이 72m/s인것으로 보아 많지 않은 것 같다.(문제에 입력 범위는 따로 명시되어있지 않았다.) 주의할 점은 stack이 없는 경우에 고무오리가 들어오면 두 문제를 추가해야 한다. stack = [] while True: s = input() if s == '문제': stack.append(1) elif s == '고무오리': if not stack: stack.append(1) stack.append(1) else: stack.pop() elif s ==.. 2021. 7. 12. 이전 1 ··· 22 23 24 25 26 27 28 ··· 55 다음