본문 바로가기

728x90
반응형

백준

(11)
[백준] 10798번: 세로읽기(브론즈1, Python) https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 문제 해결 아이디어 입력되는 문자열에 list 함수를 사용하여, 문자열을 모두 분리 문자열 5줄이 입력되므로 for문을 사용해도 되고, while문으로 입력이 다르게 들어올 경우를 대비해도 좋다. 입력된 배열들의 길이를 확인하여 가장 긴 배열의 길이를 확인한다. 최대 길이의 배열만큼 값을 확인하고 만약 더 짧은 배열이라면 except문을 사용하여 다음 배열로 이동 최종 출력값을 저장할 변수..
[백준] 2738번: 행렬 덧셈 (브론즈5, Python) https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 문제 해결 아이디어 입력 첫 번째 줄에 배열의 모양이 제시되고, 행*2번 입력값이 들어오는 형태 C언어같이 메모리 관리를 하기 위해서는 array 선언 시 열의 갯수도 지정했겠지만... 그냥 빈 리스트로 선언하였음. 2*행 번의 for문을 통해 행보다 작으면 1차원 배열을 빈 리스트에 추가하고, 이후부터 첫번째 행부터 차례로 덧셈을 진행하였음. 답안 출력은 한 행씩 출력 소스 코드 ..
[백준] 2566번: 최댓값 (브론즈3, Python) https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 문제 해결 아이디어 함수 내에 최대값과 인덱스 위치를 저장할 변수 선언 (val, loc) 한 행씩 불러오며 값을 하나씩 확인하고, 크거나 같은 경우 val과 loc을 업데이트 (최대값이 두개 이상인 경우 한 곳의 위치를 출력하면 됨.) 위치를 저장할 때 1씩 더해줌 (index 0 부터 시작) loc을 리스트로 받고 출력 시 값을 풀어서 표현해줌 print(*) 소스 코드 (Python) def max_val81(..
[백준] 2444번: 별 찍기 - 7 (브론즈3, Python, for문 한번 사용) https://www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 해결 아이디어 1. 내 구현 코드를 여러번 확인해가면서 문제를 풀었음. 2. for문 한번에 해결할 수 있지 않을까 라는 물음에서 규칙성을 찾기 위해 노력함. 3. ans라는 문자열 변수를 선언하여 공백과 별을 추가한 후 출력 4. n이 주어졌을 때, 출력되는 행의 수는 2n-1임. (5를 입력하면 9줄이 출력돼야함.) 5. n번째 행을 기점으로 별의 수는 감소. 공백은 증가 6. n을 기준으로 n보다 작거나 같을 때의 규칙, n보다 클때의 규칙을 고민해봄. 7. n=5를 예시로 규칙 찾아보기 * *** ***** **..
[백준] 25206번: 너의 평점은 (실버5, Python) https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 문제 해결 아이디어 1. 학점 중 P학점은 평점에 포함되지 않는다. (예외처리 필요!!) 2. 입력은 20번 들어온다. 하지만 더 많은 입력값이 들어올 것을 대비하여 예외문을 삽입 (try, except) 3. 누적 값을 저장할 변수를 미리 선언해준다. 4. 각 평점에 대응하는 딕셔너리를 미리 선언하였음. 5. 결과값 출력은 소수점 6번째 자리까지 반올림 하였음. (내 맘) 소스코드 (Python) d..
[백준] 5597번: 과제 안 내신 분..? (브론즈5, Python) https://www.acmicpc.net/problem/5597 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 문제 해결 아이디어 1. 입력값이 한번씩 28번 들어온다! 28번 받을 준비를 해야할 덧. 2. 1번부터 30번까지 범위이며, 입력값의 중복은 없음. 3. 학생 30명을 먼저 채워넣고, 숙제를 제출한 사람은 교실 밖으로 나간다고 상상했음. 리스트 밖으로 쫓아낼거임. 4. 중복값이 없으므로 python remove 메서드를 사용해도 괜찮다고 생각함. 5. 출력도 한줄로 해야돼요! 소스코..
[백준] 10813번: 공 바꾸기 (브론즈2, Python) https://www.acmicpc.net/problem/10813 문제 해결 아이디어 https://kwanghori.tistory.com/49 [백준] 10811번: 바구니 뒤집기 (브론즈2, Python) https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가 kwanghori.tistory.com 위 url과 유사한 문제로, 바구니 뒤집기 문제에서는 리스트 내 범위 값을 뒤집었다면, 공 뒤집기 문제는 지정된 인덱스의 값의 위치를 바꾸는 문제. 1. 입력된 길이의 리스트를 만들고, 2. 입력된 인덱스의 값의 위치를 서로..
[백준] 10811번: 바구니 뒤집기 (브론즈2, Python) https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 문제 해결 아이디어 1. 주어진 범위를 리스트 표현에 맞게 지정해야함. 2. 범위 내 값을 뒤집을 방법! (reverse 메서드 사용) 3. 뒤집은 값을 다시 리스트에 갱신 위 세가지 사항을 고려하여 소스코드를 작성함. 1. 뒤집을 범위의 배열을 tmp_arr로 명명하고, 2. 이를 reverse 메서드를 사용하여 역순으로 뒤집은 후 3. 추출한 범위에 다시 입력 소스코드 (Python) ..

728x90
반응형