일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 오에스
- OS
- 정석
- 개발
- 코딩
- Operating System
- 문제풀이
- Computer science
- 정석학술정보관
- 스택
- DP
- 너비우선탐색
- 그래프
- 컴퓨터공학과
- 브루트포스
- 컴공과
- Stack
- bfs
- 자료구조
- cs
- vector
- 코테
- 오퍼레이팅시스템
- 알고리즘
- 컴공
- 북리뷰
- 구현
- coding
- c++
- Today
- Total
목록coding (150)
Little Jay
사실 이분 탐색으로 안풀었는데 맞았다..... 이건 맞았는데 13706번은 왜 틀린지 모르겠다 #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); long long n; cin >> n; long long temp = sqrt(n); if (pow(temp, 2) == n) cout
저번 글을 보면 내가 이분탐색(이진탐색)에 약하다는 것을 깨달았다. solved.ac 에서 binary search 태그를 검색해서 내가 풀 수 있는 문제들을 풀어보는 것을 목표로 삼았다. 클래스 점수도 빨리 올려야 되는데 언제올리냐..... 이 문제는 영어 문제이다. 간단히 핵심만 해석하자면, 이분 탐색을 할 때마다 mid 값이 바뀌게 되는데 그 값을 출력해주면 되는 문제이다. 이분 탐색은 아래의 블로그를 참조했다. 아직 알고리즘에서 걸어야 할 길이 먼거같다...... https://blockdmask.tistory.com/167 [탐색] 이진탐색 (Binary Search) 구현 방법 안녕하세요. BlockDMask 입니다. 알고리즘 코딩 사이트(백준 온라인 저지)에서 '수 찾기' 문제를 풀다가 이진..
처음으로 이분 탐색을 써본 문제. 이분 탐색을 처음 써보는 거라 많이 어색하기도 하고, 구현을 어떻게 해야하는지 감이 잘 안와서 여러 블로그를 보고 조금 터득했다. 이분 탐색 문제를 더 풀어봐야 감이 올 것 같다. 이 문제도 내 힘으로 푼 것이 아니라 나중에 한번 더 풀어봐야겠다. #include #include #include using namespace std; #define MAX 10000 int n, m; long long int line_arr[MAX]; bool isPossible(long long line) { int count = 0; for (int i = 0; i = m) return tr..
동적 배열로 풀면 안되는 문제인 것 같다. 그냥 배열로 풀어야 정답으로 서버가 인정하는 것 같다. #include using namespace std; int main() { int n; cin >> n; int arr[101] = { 0, }; int x; int denied = 0; for (int i = 0; i > x; if (arr[x] == 1) denied++; else arr[x] = 1; } cout
getline을 사용하면 간단히 해결되는 문제인 것 같다. #include #include using namespace std; int main() { string s; while (getline(cin, s)) { cout
main이 아닌 함수만 구현하는 문제 문제에서 template를 다 주었기 때문에 안에만 구현해주면 되는 간단한 문제 #include long long sum(std::vector& a) { long long answer = 0; for (int i = 0; i < a.size(); i++) { answer += a[i]; } return answer; }
다이나믹 프로그래밍으로 풀어야하는 문제이다. 무지성으로 팩토리얼로 문제를 풀면 long long을 넘어가는 값이 생길 수 있다. 그래서 dp를 활용해서 모듈러 연산을 한 값을 집어넣으면 된다. 문제를 풀면서 C6262에러가 발생을 했었는데, 이 부분은 main 함수의 stack 메모리 영역이 부족해서 생기는 오류였다. 이런 경우에는 배열을 전역변수로 넘겨주면 간단하게 해결이 가능한데, 이 부분에 대해서는 메모리 공부를 제대로 해야할 것 같다. #include #define divisor 10007 using namespace std; int dp[1005][1005] = { 0, }; int main() { ios::sync_with_stdio(false); cin.tie(0); int x, y; cin..
greedy하게 풀었다 이게 greedy하게 푸는 방법이라 내가 쓴 코드가 정답이 아닐 수도 있다 다른 블로그들 참고하니까 dq로 푸는 방법도 있는 것 같은데 아직은 dq를 모르므로 pass #include #include using namespace std; int main() { int n; cin >> n; int bags = 0; while (n >= 0) { if (n % 5 == 0) { bags += (n / 5); cout
cin의 버퍼 문제때문에 조금 푸는데 애가 먹었다 https://m.blog.naver.com/cksdn788/221239805238 [Grind Away] C++ getline 사용시 buffer clear 문제 깔끔하게 해결하기 C++에서 getline 함수를 사용할 시 입력 버퍼상의 '\n'문자까지 읽어들인다. 하지만 일반적인 cin >>... blog.naver.com 이 분의 블로그를 참조해서 buffer을 clear하는 방법을 배웠다. cin을 하면 개행문자까지 읽기 때문에 getline을 할때 첫 번째 for문에서 '\n'을 받아버리는 경우가 발생해버렸다. 이를 cin.ignore()을 사용하면 간단하게 해결이 가능하다는 사실을 배웠다. 생각보다 까다로운 Bronze 1 문제였던 것 같다. ..
제목 그대로 회전하는 큐이다. 회전하는 큐의 의미를 잘 생각해본다면 자료구조 중 하나인 데큐를 사용하면 편한 문제이다. 푸는 방법은 deque 의 사이즈를 통해서 찾는 것이 효율적이다. temp_index로 숫자를 찾고 size의 반보다 cin한 숫자의 index가 크면 뒤로 pop_back() & push_front() 아니면 pop_front() & push_back()을 하면 된다 #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, m, x; cin >> n >> m; int count = 0; deque dq; for (int i = 0; i < n..