일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- D3
- data structure
- 알고리즘
- LeetCode
- 자료구조
- db
- 백준
- language
- 문제풀이
- D2
- 법의학
- swea
- 감상문
- BOJ
- 데이터베이스
- algorithm
- 네트워크
- network
- Computer Science
- 독서
- 운영체제
- c++
- OS
- 프로그래머스
- algogritim
- SW Expert Academy
- Database
- 재테크/투자
- Programmers
- cs
- Today
- Total
목록전체 글 (144)
선택은 나의 것
문제 BOJ 8958 : www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수�� www.acmicpc.net 접근 연속된 O의 개수를 누적으로 더한 값을 구하는 문제이다. 나는 counter라는 변수를 통해 O를 만나면 counter를 1증가시키고 답을 저장하는 ans변수에 더해주었다. 반대로 X를 만나면 counter를 0으로 초기화시켜주었다. 코드 n = int(input()) for _ in range(n): s = input() ans = 0 counter = 0..
문제 BOJ 1157 : www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 접근 입력받은 단어에서 가장 많이 등장하는 알파벳을 출력해주는 문제이다. 이때 대소문자의 구분은 없기 때문에 단어를 받을 때 upper()를 통해 대문자로 바꿔주었다. 코드 eng = [0 for _ in range(30)] text = input().upper() for i in text: eng[ord(i) - 65] += 1 num = max(eng) if eng.count(num) >= 2: print("?") ..
문제 BOJ 11720 : www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 접근 숫자들의 합을 구하는 간단한 문제이다. 더해야 할 숫자들은 공백없이 입력됨으로 string형식으로 한번에 받은 뒤 for문으로 한 자리씩 접근하여 int형으로 변환해준 뒤 더해줬다. 코드 n = int(input()) num = input() ans = 0 for i in num: ans += int(i) print(ans) 깃 허브 주소 : https://github.com/algoribi/algorithm-study
문제 BOJ 16172 : www.acmicpc.net/problem/16172 16172번: 나는 친구가 적다 (Large) 첫 번째 줄에는 알파벳 소문자, 대문자, 숫자로 이루어진 문자열 S가 주어진다. (1 ≤ |S| ≤ 200,000) 두 번째 줄에는 성민이가 찾고자 하는 알파벳 소문자, 대문자로만 이루어진 키워드 문자열 K가 � www.acmicpc.net 접근 문자열의 최대 길이가 200,000 이기 때문에 크게 무리가 없을 것 같아 python의 find를 사용하였다. 이때 중간중간에 들어가는 숫자들을 제거한 새로운 문자열을 만들어 find을 통해 단어의 유무를 알아냈다. 코드 s = input() f = input() new_s = "" for i in s: if i ..
문제 BOJ 4358 : www.acmicpc.net/problem/4358 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 접근 map을 사용하여 중복으로 등장하는 나무의 그루 수를 세준다. map은 오름차순 정렬이 되어있기 때문에 순차적으로 출력하며 몇%를 차지하는지 계산해주면 된다. 코드 #include #include #include using namespace std; int main() { string s; map m; double counter = 0; while (getline(cin..
문제 BOJ 2839 : https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬� www.acmicpc.net 접근 설탕 봉지의 종류는 3킬로그램과 5킬로그램이 있으며 고객이 요구하는 설탕의 양에 맞게 설탕 봉지를 배달하되, 그 봉지의 수를 최소로 하는 문제이다.이는 처음에 5로 나누어떨어지는지 검사하고, 아니라면 5로 나눌 수 있는 최댓값부터 하나씩 5와 3으로 떨어지는지 검사한다. 이도 아니라면 3으로 나누어떨어지는지 검사한 뒤에 모두 아닐 경우 -1을 출력한다. 코드 n = int(..