백준30 [BOJ] 2588. 곱셈 (Python3) 문제 링크 / level: Bronze IV https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 👍이 문제에서 새로 익힌 기술: Extended Slices 15 Extended Slices 15 Extended Slices Ever since Python 1.4, the slicing syntax has supported an optional third ``step'' or ``stride'' argument. For example, these are all legal Python syntax: L[1:10:2], L[:-1:1], L[::-1]. T.. 2020. 9. 1. [BOJ] 1000. A+B (Python3) 문제 링크 / level: Bronze V https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net Python은 학부 때 논문 쓰면서 데이터 분석용으로만 썼었는데, 코테용으로 준비를 시작해보기로 했다. 아주 간단한 입출력 문제이지만 나에게는 Python으로 푼 첫 알고리즘 문제니까 기념으로 글을 적어본다. 얼른 Python 문법에 익숙해져서 빠르게 알고리즘 구현 단계까지 넘어가야겠다. Python에서 입력받는 두 가지 방법: 1. 공백으로 구분될 때 -> input().split()의 형태로 받는다. 2. 줄바꿈으로 구분될 때 -> input()의 형태로 받는다. 진짜 .. 2020. 9. 1. [BOJ] 2740. 행렬 곱셈 (Java) 문제 링크 / level: Bronze I https://www.acmicpc.net/problem/2740 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net 내가 생각한 풀이 고등학교, 대학교 때 많이 계산했던 행렬의 곱셈 연산에 관한 문제였다. 그런데 간단한 규칙에 비해 코드로 구현하는데 생각보다 어려움이 좀 있었다.🤔💦 일단 행렬의 곱셈을 위한 조건을 알아보자. 첫 번째 행렬(first)의 크기: N * M 두 번째 행렬(second)의 크기: M * K 1. 이 중 M의 값이 반드시 같.. 2020. 5. 28. [BOJ] 10093. 숫자 (Java) 문제 링크 / level: Bronze II https://www.acmicpc.net/problem/10093 10093번: 숫자 문제 두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오. 입력 두 정수 A와 B가 주어진다. (1 ≤ A, B ≤ 1015, A와 B의 차이는 최대 100,000) 출력 첫째 줄에 � www.acmicpc.net 내가 생각한 풀이 간밤에 짝꿍이랑 연습 겸 대결을 하면서 풀어본 문제. 난이도도 브론즈인데다가 문제가 너무 심플해서 5분컷 할 줄 알고 건드렸다가 런타임 에러에... 틀렸습니다에.. 아주 난리를 친 문제였다. 자세히 보면 정답 비율이 약 24%밖에 되지 않는 오묘한 문제다. 문제의 핵심은 1. 입력값의 범위를 잘 살펴야한다.. 2020. 5. 24. [BOJ] 1110. 더하기 사이클 (Java) 문제 링크 / level: Bronze I https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 내가 생각한 풀이 간단한 문제인데 자릿수 이야기가 있어서 문자열로 할까 숫자로 할까 고민하다가 브론즈 문제라서 그냥 간단하게 숫자로 풀었다. 자릿수는 나눗셈과 모듈러 연산으로 처리해줌. 몇 가지 포인트는, 1. 연산하려는 숫자가 한 자릿수일 때와 두 자릿수일 때로 나눠서 처리하는 것 2. 덧셈 연산 한 번 할 때마다 카운트(cnt)도 하나씩.. 2020. 5. 23. [BOJ] 14681. 사분면 고르기 (Java) 문제 링크 / level: Bronze IV https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌 www.acmicpc.net 내가 생각한 풀이 x좌표와 y좌표를 입력받은 뒤 두 좌표의 값을 곱한다. 곱해서 양수가 나온다면 (+,+) 또는 (-,-) 조합이니까 x좌표의 값만 검사해서 양수면 1사분면, 음수면 3사분면으로 처리. 곱해서 음수가 나온다면 (-,+) 또는 (+,-) 조합이니까 이번에도 x좌표의 값만 검사해서 음수면 2사분면, 양수면 4사분면으로 .. 2020. 5. 23. [BOJ] 1205. 등수 구하기 (Java) 문제 링크 / level: Silver IV https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 송유진의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000�� www.acmicpc.net 내가 생각한 풀이 기분전환 좀 할 겸 대학생 기본반 문제집에 있는 것 중에 어렵지 않은걸로 하나 골라서 풀어봤다. 오늘은 거두절미하고 바로 시작! 이 문제가 만약 입력받을 때 들어오는 점수가 내림차순이 아니라 무작위였다면 조금 더 귀찮았을 것이고, 새로 삽입해야 하는 점수가 송유진의 새로운 점수 1개만이 아니라 여러 개였.. 2020. 5. 22. [BOJ] 10026. 적록색약 (Java) 문제 링크 / level: Gold V https://www.acmicpc.net/problem/10026 10026번: 적록색약 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 www.acmicpc.net 내가 생각한 풀이 슬슬 BFS 문제들이 (특히 flood fill 문제) 비슷하다고 느껴져서 내.. 2020. 4. 20. [BOJ] 4963. 섬의 개수 (Java) 문제 링크 / level: Silver I https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 www.acmicpc.net 내가 생각한 풀이 이 문제도 다른 사람이 만들어 둔 문제집에 있었던 문제다. 예전에 추천받았던 .. 2020. 4. 20. 이전 1 2 3 4 다음