[백준/BOJ] 5597번: 과제 안 내신 분..? (Python) 풀이
Dev/PS2024. 5. 30. 23:51[백준/BOJ] 5597번: 과제 안 내신 분..? (Python) 풀이

Baekjoon Online Judge (BOJ) 의 5597번 문제인 '과제 안 내신 분..?' 을 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/5597문제 개요:X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.[ 입력 ]입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다.[ 출력 ]출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2..

[백준/BOJ] 10813번: 공 바꾸기 (Python) 풀이
Dev/PS2024. 5. 30. 23:18[백준/BOJ] 10813번: 공 바꾸기 (Python) 풀이

Baekjoon Online Judge (BOJ) 의 10813번 문제인 '공 바꾸기' 를 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/10813문제 개요:도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다.도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다.공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오.[ 입력 ]첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤..

[백준/BOJ] 10813번: 공 넣기 (Python) 풀이
Dev/PS2024. 5. 30. 22:33[백준/BOJ] 10813번: 공 넣기 (Python) 풀이

Baekjoon Online Judge (BOJ) 의 10810번 문제인 '공 넣기' 를 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/10810문제 개요:도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다.도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구니는 연속..

[백준/BOJ] 2562번: 최댓값 (Python) 풀이
Dev/PS2024. 5. 28. 22:51[백준/BOJ] 2562번: 최댓값 (Python) 풀이

Baekjoon Online Judge (BOJ) 의 2562번 문제인 '최댓값' 을 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/2562문제 개요:9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지 구하는 문제이다.즉, 서로 다른 9개의 자연수를 입력받고, 이 자연수들 중 최댓값과 최댓값의 index를 출력하면 된다.이 문제의 포인트는, 주어지는 자연수의 개수가 항상 9개로 고정되어 있다는 점이다.이 문제는 파이썬에서는 두 가지 방법이 있기에 두 방법 모두 풀이해 보려고 한다.모든 코드에서 공통되는 1번 방법, 파이썬 내장 함수를 활용한 2번 방법이 있다. 1번 방법 알고리즘:최댓값을 넣어 줄 maxVal 변수, 현재 입력받은..

[백준/BOJ] 10818번: 최소, 최대 (Python) 풀이
Dev/PS2024. 5. 27. 23:44[백준/BOJ] 10818번: 최소, 최대 (Python) 풀이

Baekjoon Online Judge (BOJ) 의 10818번 문제인 '최소, 최대' 를 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/10818문제 개요:N개의 정수가 주어지고, 이 N개의 정수들 중 최솟값과 최댓값을 구하면 되는 문제이다.이 문제는 파이썬에서는 두 가지 방법이 있기에 두 방법 모두 풀이해 보려고 한다.모든 코드에서 공통되는 1번 방법, 파이썬 내장 함수를 활용한 2번 방법이 있다. 1번 방법 알고리즘:N(정수의 개수), 공백으로 구분된 N개의 정수를 입력받아서 list 형태로 만들어 arr 변수에 초기화시킨다.최솟값 최댓값을 구해야하므로, 비교를 위하여 maxVal, minVal 변수를 만들고 각각 0번째 arr 값으로 초기화시킨다.arr의 길이..

[백준/BOJ] 10871번: X보다 작은 수 (Python) 풀이
Dev/PS2024. 5. 27. 22:57[백준/BOJ] 10871번: X보다 작은 수 (Python) 풀이

Baekjoon Online Judge (BOJ) 의 10871번 문제인 'X보다 작은 수' 를 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/10871문제 개요:정수 N개로 이루어진 수열 A와 정수 X가 주어지고, 수열 A에서 X보다 작은 수를 찾아서 순서대로 모두 출력하면 되는 문제이다.X보다 작은 수를 출력할 때 정렬 없이 바로 출력하면 되므로 시간 복잡도에 구애받지 않아도 되어 간단하기도 하다. 알고리즘:N(수열 A를 이루는 정수의 개수), X(비교할 정수)를 같은 줄에 입력받고, 공백으로 구분되어져 있는 정수들을 입력받아 list 형태로 저장하여 A 변수에 초기화시킨다.배열 A의 길이만큼 반복하는 반복문을 만든다.X와 i번째 A의 값을 비교하는 조건문을 만들고..

[백준/BOJ] 10807번: 개수 세기 (Python) 풀이
Dev/PS2024. 5. 27. 22:41[백준/BOJ] 10807번: 개수 세기 (Python) 풀이

Baekjoon Online Judge (BOJ) 의 10807번 문제인 '개수 세기' 를 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/10807문제 개요:총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 문제이다.쉽게 말하면 배열을 입력받고, 배열 안에 v와 같은 정수가 몇 개인지 찾으면 된다. 알고리즘:순서대로 N(정수의 개수), 공백으로 구분되어져 있는 정수들, v(찾으려고 하는 정수)를 입력받는다.찾은 정수의 개수가 몇 개인지 출력해야 하므로 카운트를 해줄 cnt 변수를 만들어준다.배열의 길이만큼 반복되는 반복문을 만든다.반복문이 끝날 때 까지 배열의 i번째 값이 v와 같으면 cnt에 1을 더해준다.반복문이 끝나면 누적된 cnt를 출력한다. 코드:N..

[백준/BOJ] 10951번: A+B - 4 (Python) 풀이
Dev/PS2024. 5. 22. 23:55[백준/BOJ] 10951번: A+B - 4 (Python) 풀이

Baekjoon Online Judge (BOJ) 의 10951번 문제인 'A+B - 4' 를 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/10951문제 개요:두 정수 A, B를 입력받고, A+B를 출력하면 되는 아주 간단한 문제이다.입력은 여러 개의 테스트 케이스가 각 한 줄로 이루어져 있다. 순서대로 A B(ex: 1 3)를 입력하고 더한 결과값을 출력하면 된다. 알고리즘:이 문제도 이전 문제와 같이 특정 조건이 충족될 때 까지 반복해야 하는 문제이므로 While문이 더 용이하다.그리고 이 문제에선 try except 구문을 사용해야 하는데, 사용 방법은 아래와 같다.try: # 실행할 코드except: # 예외가 발생했을 경우 처리할 코드위와 같이 t..

[백준/BOJ] 10952번: A+B - 5 (Python) 풀이
Dev/PS2024. 5. 22. 23:48[백준/BOJ] 10952번: A+B - 5 (Python) 풀이

Baekjoon Online Judge (BOJ) 의 10952번 문제인 'A+B - 5' 를 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/10952문제 개요:두 정수 A, B를 입력받고, A+B를 출력하면 되는 아주 간단한 문제이다.입력은 여러 개의 테스트 케이스가 각 한 줄로 이루어져 있으며, 입력의 마지막에는 0 두 개가 들어온다. (0 0)입력 마지막에 0 두 개가 들어오기 전까지, 즉 A와 B의 값이 0이 되기 전까지 A+B를 출력하면 된다. 알고리즘:지금까진 for문을 사용했지만, 이번 문제는 몇 번 반복하는 것이 아닌, 특정 조건이 충족될 때 까지 반복해야 하는 문제이므로 While문이 더 용이하다. A와 B가 0이 되기 전까지는 반복문이 계속 돌아야 하..

[백준/BOJ] 2439번: 별 찍기 - 2 (Python) 풀이
Dev/PS2024. 5. 22. 23:23[백준/BOJ] 2439번: 별 찍기 - 2 (Python) 풀이

Baekjoon Online Judge (BOJ) 의 2439번 문제인 '별 찍기 - 2' 를 풀어보았다. [문제 정보]https://www.acmicpc.net/problem/2439문제 개요:첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제이다.단, 오른쪽을 기준으로 정렬한 별을 출력해야 한다.N을 입력받고, 첫째 줄부터 N번째 줄까지 차례대로 별을 출력하면 된다.이런 식으로 이전 문제와 달리 오른쪽으로 정렬된 형태를 하고 있어서 고민을 해야 하는데, 공백으로 띄운 다음 별을 N개 찍는 방식으로 하면 된다. 알고리즘:N을 입력받는다.N번 반복하는 반복문을 만든다. (i값은 1부터 시작한다.)먼저 공백을 N-i번 띄워야 한다. 만약 N의 값이 5고 첫번째 줄이라면, 공백..

image