전체 글
A+B 풀이
문제 링크: https://www.acmicpc.net/problem/1000 백준 입출력과 사칙연산 2단계 - 1000번 A+B를 풀어보았다. 풀이: 정수 두 개를 입력받고, 합을 출력한다. C++ #include using namespace std; int main() { int first, second; cin >> first >> second; cout
Hello World 풀이
문제 링크: https://www.acmicpc.net/problem/2557 백준 입출력과 사칙연산 1단계 - 2557번 Hello World를 풀어보았다. 풀이: 간단하게 표준입출력을 이용해 풀면 되겠다. C++ #include using namespace std; int main() { cout
X보다 작은 수 풀이
문제 링크: https://www.acmicpc.net/problem/10871 백준 1차원 배열 2단계 - 10871번 X보다 작은 수를 풀어보았다. 풀이: 배열을 선언하고, X보다 작은 수를 순서대로 출력한다. C++ #include using namespace std; int main() { int n,x,inp; int arr[10000]={0,}; cin>>n>>x; for(int i=0;i>arr[i]; } for(int i=0;i
별 찍기 - 1 풀이
문제 링크: https://www.acmicpc.net/problem/2438 백준 반복문 8단계 - 2438번 별 찍기 - 1을 풀어보았다. 풀이: 2중 반복문을 써서 풀었다. 파이썬의 경우, print에 end를 넣어 쓰면 문자를 옆으로 쓸 수 있다. C++ #include using namespace std; int main() { int n; cin>>n; for(int i=1;i
코테용 문제풀이 계획(2022/12/26)
목표: 코딩테스트 대비 문제풀이 실력 늘리기 이유: 문제풀이 실력이 떨어지는 것을 많이 느꼈음 공부 방법: 하루 10문제씩, https://youtu.be/H6z1_tnyhp0 따라 백준 풀기 사용 언어: c++(실행시간이 빠르고 자료구조 공부 가능), java(백엔드에 많이 쓰임), python(문법이 쉬움)
![알고스팟 wildcard (wildcard) 문제 파이썬으로 풀기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVuf4b%2FbtqA4zng22P%2F8PVhL8XDdutRDyqy920FZ0%2Fimg.png)
알고스팟 wildcard (wildcard) 문제 파이썬으로 풀기
문자를 받아, 매치가 되는 문자를 출력하는 문제이다. 문제를 보고, 문자를 ?와 *로 잘라서 처리해야하나 고민해서, 자르고 위치를 어떻게 해야할지 찾아보다가 https://wikidocs.net/4308 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net 여기에서 정규 표현식이라는 것을 발견했다. 읽어보니 문자열 매칭을 빠르고 짧게 처리할 수 있는 방법이 나와있어서, 그것을 이용해 코드를 짜보았다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # wildcard import re case = int(input()) for i in range(case): instr = input() # 와일드카드 문자열 입력 newin = ins..
![알고스팟 승률올리기 (RATIO) 문제 파이썬으로 풀기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0eOlH%2FbtqAUvZA3dU%2FQBZTID6tV3rMM9ALsSWcj0%2Fimg.png)
알고스팟 승률올리기 (RATIO) 문제 파이썬으로 풀기
승률을 1% 올리게 되는 가장 적은 연승 횟수를 구하는 문제이다. 이진탐색을 생각해 낸다면 매우 쉬운 문제가 될 것이고, 아니라면 고생할 것이다. 물론 난 후자였고, 그래서 이것저것 고민해보다가 문제 분류에 이진탐색이라고 있는것을 보고 이진탐색을 적용하여 문제를 해결했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # ratio maxwin = 2000000000 # 최대 승리 case = int(input()) for i in range(case): n, m = map(int, input().split()) result = 0 # 결과 nowrate = (m * 100) // n # 현재 승률 if nowrate >= ((m + maxwin) * 100)..
![알고스팟 원주율 외우기 (PI) 문제 파이썬으로 풀기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnIrnB%2FbtqAU6qNEaP%2FsTlPYtCqllSZXJL539YFf0%2Fimg.png)
알고스팟 원주율 외우기 (PI) 문제 파이썬으로 풀기
숫자를 입력받아, 난이도를 계산하는 문제이다. 전형적인 동적계획법 문제처럼 보이지만(큰 문제를 작게 자르고 값을 계산하여 저장하고 저장한 값을 이용해 최종 값을 구하면 된다), 이 문제의 특이한 점은 숫자들을 3, 4, 5자리로만 끊어야 하고, 입력이 매우 크다는 것이다. 두번째 점은 특히 파이썬으로 풀때 치명적으로 다가오는데, 일반적인 동적계획법 문제 풀듯이 전체 값을 저장할 리스트/배열을 만들고 리스트/배열의 특정 위치의 값을 가져와서 그 값의 최소/최댓값을 구하고 그것을 return 하는 방식으로는 주어진 시간 (1000ms) 안에 풀 수 없다는 것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ..