전체 글 168

[백준 1920번] 수 찾기

이진탐색에서 right범위를 맨처음에 100000주고 했는데 33%쯤에서 계속틀렸다. N-1으로 수정하니 정답. 아무래도 input수가 적을 때 못찾는걸까? 그래서 memset(arr, 0x7f,sizeof(arr))해서 큰값을 주고 시작했는데도.. 안되더라.. ㅠ; 시간은 이진탐색 52ms, map 100ms로 2배차이가 난다. 이진탐색으로 한 풀이. #include using namespace std; map m; int in_array[100001]; int N,M; bool binary_search(int target) { int left=0,right=N-1, mid; while(left N ; for(int i = 0 ; i> temp; in_array[i] = temp; } sort(in_a..

[백준1260번] BFS와 DFS

자료구조 시험공부 하다가 너무 재미없어서 ㅠㅠㅠ 문제푸는거 재밌는데, 수업이 너무.. (할많하않;) 방문할 수 있는 정점이 여러개인경우 작은것을 먼저 방문하라고 해서 sort하고 시작했고, 입력으로 주어지는 간선은 양방향이라서 push_back 엇갈리게 푸쉬. #include using namespace std; int N, M, V; vector vec[1001]; // 총 노드수 bool visited[1001]; // 방문한 노드 queue q; // bfs에서 사용할 거. void dfs(int node, int d){ if(d == N+1) return; for(int i = 0; i> b; vec[a].push_back(b); vec[b].push_back(a); } for(int i = 1 ..

[백준 1654번] 랜선자르기

이분탐색이 익숙치않아서 다시한번 풀어봤다. K길이 최댓값에서 하나씩 감소시키는걸로 푸니 시간초과났었다. 굳이 sort해서 max값 안찾아도 되고, 입력받을때 max취해서 최대 K값 찾아놓고 시작하는게 나을것 같다. 괜히 시간만 잡아먹은듯. #include using namespace std; int N, K; vector vec; bool check(int mid) { int cnt = 0; for(int i = 0; i= N) return true; else return false; } int main(void) { cin >> K >> N; long long sum = 0; for(int i = 0 ; i< K; i++) { i..

[백준 1152번] 단어의 개수

www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net iterator begin, end의 위치, string erase 사용법, string parsing법 정리하고 더 나은 풀이 찾아보기. #include using namespace std; int main(void) { vector vec; string str1; getline(cin, str1); if( str1[0] == ' ' ) str1.erase(str1.begin()); if(str1[str1..

[8일차] "알다"의 9가지 유형(중요)

1. know(알고있는 상태에 대해서 / Fact에 대한 알고 모르고를 의미) I know the way there I know his phone number. I don't know why there are so many people there 2. Understand (심경에 대해 이해하다) I understand how you feel(당신이 어떤 마음인지 이해해요) I understand why she did that but I don't agree with her decision I don't understand what it means(무슨의미인지 이해가 안되요) 3. find out & figure out (~을 알게 되다/ 모르는상태에서 아는상태로 넘어가는 것) 난 그걸 어제 알았어요 - ..

[4주차] 내용정리

나 술 잘마셔 I'm good at drinking liquor 목넘어 가는걸 잘한다고 ? 나는 술 잘마셔를 제대로 표현하려면.. I'm a heavy drinker. 반대로 잘 못마시면 I'm a light drinker 한국은 행동을 강조했지만, 영어는 어떤 사람인지 표현하는데 집중됨. 노래방을 어떻게 표현해 ? 가라오케! 일본식인데, 우리가 햄버거를 다른말로 안하고 햄버거라고 하듯이 노래방을 그냥 Karaoke(가라오케)라고 함. email - typing ( not write) 말하다 두그룹으로 나눌 수 있음 말의 내용까지 말할 때 say, tell. say 누구한테 말했는지는 없음. 불특정 다수. - He said I'm fat. - He said to her (x) tell 누구한테 말했는지도..