(구) 개발지식 (공통) 9

[백준/실버] 1920번 수 찾기

https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 1920번 실버4 수 찾기 ~ 언제나처럼 문제 스포일러(??)를 포함하고 있습니다 ~ 2진 탐색은 공부를 한 터라 보자마자 감이 바로 왔는데 시간 뚫는데 생고생을 다 했다. 어제 푼 문제는 쉽게 풀려서 아 오늘도 삘이 좋다 이러고 있었는데 응 아니야~ ㅠ 그냥 대충 2진서치 구현한 뒤 제출했는데 TO가 떠서 1. 반복문 하나 덜 쓰면 되지~ 하고 m..

[백준/실버] 1260번 단지 번호 붙이기 (코드x)

https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net (잠들기 전 노트북으로 쓰는 거라 코드 첨부를 하지 않았습니다. 나중에 생각난다면 추가하겠습니다 :D 게으름 멈춰!! 다만 오류를 찾는데 도움이 될까 해서 먼저 올립니다) - 지금은 새벽 6시 입니다. 킄... 크크킄... 코딩.. 즐겁따... 크크킄... 얼마 전부터 DFS/BFS 연습하고, 아 이제 안봐도 칠 수 있겠다 싶어서 문제 풀고... 잘 되는 것 같은데 오답이 나와서, 나는 바보인가 하..

[백준/실버] 1003번 피보나치 함수

https://www.acmicpc.net/problem/1003 피보나치 함수, 실버 3, 1003번 문제 자체는 되게 할 만 했는데 실수를 해서 시간이 많이 걸렸습니다. 중간 중간 연락이 많이 와서 계속 집중 못한게 큰 듯 합니다 (머쓱) 인ㅆr의 life란... (아님) - 가장 바보같은 부분이자 제일 크게 배웠던 부분이었던 건 int cntZ[41] = { -1 }; 로 코드를 짰다가 어.. 왜 초기화 안됬지... 전체 초기화는 0만 된다는 것을 까먹고 있었습니다(....) 어찌저찌 memset()으로 바로 초기화... 그거랑 N = 40까지인데 아무 생각 없이 평소대로 배열의 크기를 40으로 지정해주고 인덱스 40에 접근하고 있었던 것 ㅋㅋㅋㅋ 똑똑한 비주얼 스튜디오 덕분에 금방 다시 고치긴 했..

[알고리즘] 패러다임: 브루트 포스

첫 알고리즘 포스트입니다. 공부하면서 쓰다보니 부족한 부분이 있을 수 있겠으나, 같이 공부하는 분들께 도움이 되었으면 좋겠습니다. (이론 자체는 간단한 내용이기도 해 이 포스트는 간소합니다 :) ) 브루트 포스(Brute-force), 주먹구구식 말 그대로 무식하게 푸는 것을 의미합니다. 가장 기본적인 방법입니다. 쉽게 풀어도 별 문제가 없다면, 특별한 경우가 아닌 한 굳이 어려운 길을 갈 필요가 없겠죠. 가능한 경우의 수를 모두 확인해 푸는 방법입니다. 즉 완전 탐색입니다. 가장 단순한 switch/if문 문제들과 DFS/BFS, 순열, 재귀함수, 비트마스크가 있습니다. 최적해를 보장할 수 있기에 이를 위해 사용하기도 합니다. 몰론 시간이 오래 걸리는 경우가 많아 엄청 많은 연산에는 쓰지 못합니다. 가..

[HackerRank/Easy] Time Convention

이번에는 너무 단순하게 생각하다가 한참을 해멨다(....) 12AM이면 새벽 12시고 12PM이면 오후 12시여야 하기에 각각 0시와 12시가 나와야 하는데 0시를 24시로 계속 생각하고 있어서 계속 케이스를 통과 못하고 있었다(....) AM PM이 익숙하지 않은데서 온 불상사같다. 아무리 쉬운 알고리즘이라도 다음부터는 종이에 좀 써가면서 풀어야겠다. 머리로만 하니까 한번 헷갈리면 답이 없다. 어쨌든 오랫만에 string 관련 함수들을 써봤다. atoi()나 substr같은 문자열 관련 함수는 java 할때나 한참 썼던거라 C++로 하니 어색했다. c_str()도 얼마만에 쓴건지(.....) 재미있는건 그냥 int + string 하면 암묵적으로 형변환이 되는 것을 이용하려 하니 문법 오류가 났다. 해..

[HackerRank/Easy] Plus Minus

머리도 식힐겸 쉬운 문제부터 풀어보는 중에 먼저 이 친구를 만났는데, 되게 간단한 문제인데 조금 골치 아플 뻔 했다. void plusMinus(vector arr) { int pos = 0; int neg = 0; int zero = 0; int n = arr.size(); for(int i = 0; i 0) { pos++; } else if(arr[i] < 0) { neg++; } else { zero++; } } float posR = (float) pos/n; float negR = (float) neg/n; float zeroR = (float) zero/n; printf("%.6f\n", posR); printf("%.6f\n", negR); prin..

코딩 연습 사이트들

코딩 연습 사이트들입니다. 필요해서 포스팅 하는 중입니다만(:P..) 도움이 되었으면 좋겠습니다. 여기 모아놓고 저도 시간이 날 때마다 그때그때 접속해 풀어보려고 합니다 :) - 국내 1. 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 실제 코테를 앞두고 있는 분들에게 적합하다고 합니다. 접속해보시면 알고리즘 별로 유형이 나뉘어져 있지 않습니다. 2. 백준 https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를..