[백준] 1037번 : 약수 (🥈실버 5) (Python)
·
◼ PS Note/백준
문제 바로 가기 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 풀이 1 사용 언어 : Python 풀이한 날짜 : 2022-03-07 n = int(input()) lst = list(map(int, input().split())) if n == 1: print(lst[0] * lst[0]) else: print(max(lst) * min(lst)) 풀이 로직 진짜 약수는 1과 N이 될 수 없으므로, N은 1과 자신만을 약수로 갖는 소수가 될 수 없다. 진짜 약수의 개수가 1개면, 그 값을 제곱하면 ..
[백준] 1292번 : 쉽게 푸는 문제 (🥈실버 5) (Python)
·
◼ PS Note/백준
문제 바로 가기 1292번: 쉽게 푸는 문제 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. www.acmicpc.net 풀이 1 사용 언어 : Python 풀이한 날짜 : 2022-03-05 a, b = tuple(map(int, input().split())) cnt = 0; ans = 0 def count(): global cnt, ans for i in range(1, 1001): for j in range(1, i+1): cnt += 1 if a
[백준] 1026번 : 보물 (🥈실버 4) (Python)
·
◼ PS Note/백준
문제 바로 가기 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 풀이 1 사용 언어 : Python 풀이한 날짜 : 2022-03-05 n = int(input()) lst_a = list(map(int, input().split())) lst_b = list(map(int, input().split())) lst_a.sort() lst_b.sort(reverse=True) ans = 0 for elem1, elem2 in zip(lst_a, lst_b): ans += elem1 * elem2 prin..
[Python] 조건문
·
◼ IT Etc./Python
조건문 개념 특정 조건을 만족할 경우에만 코드를 수행하고 싶을 때 쓰는, 매우 중요한 문법이다. if 조건문 if 조건식을 만족할 경우, if문의 내부 코드를 실행한다. if 조건식: 조건식이 참일 경우 수행되는 코드 영역 python에서 if문의 가장 중요한 점은 들여쓰기다. indent를 항상 정확히 맞춰주어야 한다. a = int(input()) b = int(input()) if a >= 1 and b >= 1: a += 3 b += 5 print(f"a = {a}, b = {b}") ▼ 입력 및 출력 결과 >> 1 >> 2 a = 4, b = 7 (TIP) if 조건문에서 and로 연결된 앞의 조건식이 False이면, 뒤의 조건식은 실행하지 않는다. 즉 뒷 조건식이 오류가 나는 코드여도 앞 조건..
[Python] 사칙연산을 위한 연산자
·
◼ IT Etc./Python
사칙연산 수학처럼 프로그래밍에서도 사칙연산이 자주 쓰인다. + : 더하기 연산 - : 빼기 연산 * : 곱하기 연산 / : 나누기 연산 / 연산의 계산 결과는 항상 실수값이다. a = 3 / 1 print(a) # 3.0 // : 나누기 - 몫 연산 % : 나누기 - 나머지 연산 ** : 제곱 연산 a, b = 3, 2 print(a**b) # a^b 정수와 실수가 만나면 결과값은 실수가 된다. 사칙연산 계산 시 type은 더 큰 범위를 따라가기 때문이다. a = 1 + 1.0 print(a) # 2.0 사칙연산 간략하게 표현하기 a = a + 5 위와 같이 동일한 값에 변화를 주는 사칙연산은 아래처럼 간략하게 표현할 수 있다. a += 5 사용 예시 a, b = 10, 4 a += 5 # a = a +..
[C++] C++과 객체지향 프로그래밍(OOP)이란?
·
◼ IT Etc./C | C# | C++
C 언어의 확장판인 C++ C++은 C언어에 '객체 지향 프로그래밍' 기능이 추가되어 만들어진 언어입니다. 마치 웹 개발에 주로 쓰이는 TypeScript라는 언어가 JavaScript에 '타입' 기능이 추가되어 만들어진 것처럼 말입니다. 따라서 C언어의 문법은 C++에서도 모두 그대로 쓰입니다. C언어는 절차를 중시하는 '절차 지향' 언어임에 반해 C++는 객체라는 데이터가 중심인 '객체 지향' 언어입니다. 하지만 C++에서도 C언어의 문법은 모두 지원되기 때문에 C++로 코드를 절차적 방식으로 작성하더라도 문제가 되진 않습니다. 다만 대부분 규모가 큰 소프트웨어를 만들 때는 객체 지향을 사용하는 것이 편리할 뿐 아니라 유지 보수 및 관리에도 용이합니다. 그럼 이 '객체 지향 프로그래밍'이란 것이 무엇..
[백준] 1652번 : 누울 자리를 찾아라 (🥉브론즈 1) (JavaScript)
·
◼ PS Note/백준
문제 바로 가기 1652번: 누울 자리를 찾아라 첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. www.acmicpc.net 풀이 사용 언어 : JavaScript 풀이한 날짜 : 2022-12-13 const fs = require("fs"); // const input = fs.readFileSync("./input.txt", "utf8").toString(); const input = fs.readFileSync("/dev/stdin", "utf8").toString(); const inputTestCase = input.split("\n"); const..
[백준] 25304번 : 영수증 (🥉브론즈 5) (JavaScript)
·
◼ PS Note/백준
문제 바로 가기 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 풀이 사용 언어 : JavaScript 풀이한 날짜 : 2022-12-13 const fs = require("fs"); // let input = fs.readFileSync("./input.txt", "utf8").toString().trim(); let input = fs.readFileSync("/dev/stdin", "utf8").toString().trim(); input = input.split("\n"); let inputTestCase = ..
[백준] 2480번 : 주사위 세개 (🥉브론즈 4) (JavaScript)
·
◼ PS Note/백준
문제 바로 가기 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 풀이 사용 언어 : JavaScript 풀이한 날짜 : 2022-12-12 const fs = require("fs"); // const input = fs.readFileSync("./input.txt", "utf8"); const input = fs.readFileSync("dev/stdin", "utf8"); let inputTestCase = input.split(" "); inputTestCase = inputTestCas..
[백준] 2738번 : 행렬 덧셈 (🥉브론즈 5) (JavaScript)
·
◼ PS Note/백준
문제 바로 가기 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 풀이 사용 언어 : JavaScript 풀이한 날짜 : 2022-12-09 // 입력받기 const fs = require("fs"); let input = fs.readFileSync("/dev/stdin", "utf8"); // let input = fs.readFileSync("./input.txt").toString(); input = input.split("\n"); // 입력값 정제 const [n, m] = input[..