문제 예제 문제 풀이 해당 문제의 핵심은 배열 교환(swap)하는 것입니다. 교환할 값 2개 a, b 중 a를 임시로 만든 변수(t)에 담고, a에 b를 담고 b에 t를 할당하면 swap이 됩니다. 우선 모든 바구니에 입력받은 값을 채워 넣습니다. 예를들어, n이 5인 경우 [1, 2, 3, 4, 5] 와 같이 담습니다. 이후 i값과 j값을 입력받고 2개의 원소를 swap 합니다. 이때 주의할 점은 0번째 인덱스에 1번째 바구니 값을 할당 했으므로, 입력받은 값에 각각 -1을 해줘야합니다 import sys n, m = map(int, sys.stdin.readline().split()) bucket = [i + 1 for i in range(n)] for _ in range(m): i, j = map(..
문제 예제 문제 풀이 바구니 개수만큼 빈 배열을 만들고, 기본 값은 0으로 합니다. 의미로 보면, 제일 처음에는 바구니의 공이 0개다 이후 입력받은 값에 따라 바구니에 공을 넣어줍니다. 단, 계속해서 넣는것이 아니라 이전에 있던 공을 빼고 새로운 공을 넣는것이므로, 그냥 새롭게 할당하면 됩니다. 반복문을 모두 순회하고 값을 출력합니다. import sys total, m = map(int, sys.stdin.readline().split()) bucket = [0 for _ in range(total)] for _ in range(m): to, _from, n = map(int, sys.stdin.readline().split()) for i in range(to, _from + 1): bucket[i ..
문제 예제 예제 입력 예제 출력 4 long int 20 long long long long long int 문제 풀이 쉽게 생각하면 4로 나눈 횟수 만큼 long을 입력하고 맨 뒤에 int를 붙여주면 됩니다. 파이썬에서는 문자열도 곱셈이 가능합니다. "a" 라는 문자열에 4를 곱하면 "aaaa"와 같이 a 문자열이 4번 반복되게 됩니다. 따라서, 해당 문제도 입력받은 값을 4로 나눈뒤에 "long " 문자열에 곱하고 그 뒤에 + 연산자를 통해 int를 추가합니다. import sys print("long " * (int(sys.stdin.readline()) // 4) + "int") 원본 코드 https://github.com/bluemiv/Algorithm/blob/master/baekjoon/ex..
문제 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오. 입력 첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다. 출력 첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다. 예제 예제입력 예제출력 joonas joonas??! baekjoon baekjoon??! 문제 풀이 입력받은 값의 뒤에 ??!를 붙이기만 하면 쉬운 문제입니다. 하지만, 엔터를 누르면 개행이 되기 때문에 rstrip()을 사..
카카오 에드핏 광고 설치 카카오 에드핏을 티스토리 블로그에 추가하려고 했는데, 심사를 받으니 아래와 같은 문구와 함께 보류되었습니다. "광고를 설치한 이후 심사 진행이 가능합니다. 광고 설치 후 재심사를 요청하여 주십시오." 아무래도 다른 설정이 필요한 듯하여, 구글 검색을 통해 찾아봤는데 adfit 사이트에서 광고를 하나 달아줘야 한다고 하더군요 Adfit 광고 설치 우선 아래 사이트로 들어갑니다. 그리고 카카오 로그인을 합니다. https://adfit.kakao.com/dashboard 이후 "광고 관리" > "광고 단위"로 들어갑니다. "광고단위" 생성 버튼을 클릭합니다. 티스토리 관리자 페이지 > 플러그인 > 배너출력을 사용으로 변경합니다 그 다음 티스토리 관리자 페이지 > 꾸미기 > 사이드바..
문제 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 입력 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000) 출력 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다. 예제 예제입력 예제출력 7 3 10 4 21 2 1 문제 풀이 입력만 받고, 사칙연산을 하면 굉장히 쉬운 문제지만 문제를 잘보면 나눗셈의 경우는 소숫점을 제외한 몫만 반환해야하므로, int() 함수로 소숫점을 제거했습니다. import sys [na, nb] = map(int, sys.stdin.readline().split()) print(na + nb) print(na - nb) ..
문제 입력 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다. 출력 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. 예제 예제 입력 예제 출력 472 385 2360 3776 1416 181720 문제풀이 초등학생때 처음 곱셈을 배울때와 같이 한 자리수 씩 모두 곱하고 나온 값을 모두 더하는 문제입니다. 해당 문제의 핵심은 각 자리의 자리 수를 구하는 건데, 나눗셈과 나머지 연산을 이용하여 구할 수 있습니다. import sys [na, nb] = map(int, [sys.stdin.readline(), sys.stdin.readline()]) c1 = na * (nb % 10) c2 = na * ..
문제 ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도를 사용하고 있다. 불기 연도가 주어질 때 이를 서기 연도로 바꿔 주는 프로그램을 작성하시오. 입력 서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000) 출력 불기 연도를 서기 연도로 변환한 결과를 출력한다. 예제 예제 입력 예제 출력 2541 1998 문제 풀이 해당 문제는 풀면서 이상하다고 생각했었습니다. 불기 기준으로 2562년이 현재 ..
문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0
문제 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0