백준
-
[백준] 큐2 - 18258백준 2020. 7. 25. 02:24
요새 파이썬을 공부하고 있어서 파이썬으로 풀어봤는데 아직 익숙하지 않네요 개인적으로 공부하는 건 비주얼 스튜디오 코드를 쓰는데 코드 창을 열고 닫기가 싫어서 다른 ide로 해보려는데 스파이더, 주피터 둘 다 별로여서 비주얼 스튜디오로 하게 되었네요 문제에 입력값이 많아서 그냥 input()으로 받게 되면 시간 초과가 나고 sys.stdin.readline를 썼어요 그리고 queue구현에서도 pop(0)을 그냥 쓰게 되면 리스트를 다 이동시키는데 시간이 오래 걸려서 변수를 사용해서 지우는 식이 아니라 인덱스를 이동시키는 식으로 구현해봤습니다. import sys class Queue: def __init__(self): self.mylist = [] self.begin = 0 self.end = 0 def..
-
[백준] 1로 만들기 - 1463백준 2020. 3. 16. 21:03
dp관련 문제구요 접근 방식은 다른 문제와 크게 다르지 않습니다. 근데 제가 보기에도 코드가 별로 좋지 않네요...ㅠㅠ 방학때 놀지 말고 공부 좀 할 걸 그랬습니다 #include #include using namespace std; //계산된 값을 저장할 배열 unsigned int cache[1000001]; int func(int para) { //함수에서 3,2로 나누거나 1을 뺐을 때 저장될 변수 int result[3]; fill_n(result, 3, 1234567); //기저 if (para == 1) { return 0; } else if (cache[para] != 0) { return cache[para]; } if (para % 3 == 0) { result[0] = para / 3..
-
부분 합 - 1806백준 2020. 3. 16. 19:37
주어진 수열을 num에 저장하고 누적 합을 psum에 저장했고 그 차이들의 간격을 계산하면서 정답을 도출했습니다. #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, s; bool flag; cin >> n; cin >> s; //입력받은 수열 저장 int* num = new int[n+1]; num[0] = 0; for (int i = 1; i > num[i]; if (num[i] >= s){ cout
-
집합 - 11723백준 2020. 3. 6. 18:33
#include #include using namespace std; int s = 0; void add(int num) { s |= (1 > inputNum; check(inputNum); } else if (input.compare("toggle") == 0) { cin >> inputNum; toggle(inputNum); } else if (input.compare("all") == 0) { all(); } else if (input.compare("empty") == 0) { empty(); } } return 0; } 비트마스크, 동적계획법과 관련된 문제였어요 비트마스크 공부하면서 풀어본 기본적인 문제인데 이진법 사용이 서툴렀던게 느껴졌어요 ㅠㅠ c++ 문법도 많이 잊어버려서 쒯... 제출했더..