본문 바로가기

Programming Problems

라인 인턴 면접 오늘 라인 면접을 봤다. 면접관 분들이 깃을 사용하지 않느냐고 해서 사용하고, 사용했었다고 답했는데 cloud9을 사용하기 때문에 깃을 사용하지 않고 그냥 파일을 저장하면서 진행한다고 대답했다.다시 생각해 보면 정말이지 개발자로써 하면 안될 대답이었던 것 같다. 물론 개인 프로젝트였으니까 밭을 갈든 삽질을 하든 내맘이긴 하지만 전문적인 개발자라면 문서화와 버전관리는 항상 습관처럼 해야하지 않았나 .. 싶다.정말이지 맞는 말이어서 이제 모든 작고 큰,..
string transform 한번에 같은 문자들을 전부 다른 문자로 바꾸는 동작을 할 수 있다.이 동작으로 한 문자열에서 다른 문자열로 바꾸는 것이 가능한지 확인하시오.꼬리문제 : 바꾸는 것이 가능한 문자열이라 할때, 중간에 버퍼를 삽입해야만 바꿀 수 있는 경우가 있다. 이런 경우인지 확인해 보시오.
두 BST의 내용물이 같은지 확인하기 1. 두개의 inorder 결과 벡터를 비교한다. O(N), O(N)2. iterator을 만들어서 하나씩 넘기면서 비교한다. O(N) O(1)
a,b,c의 조합으로 이루어진 문자열에서 aaa..bb...c.. 형태의 조합의 갯수 우선 DP로 풀이 가능할 듯.int countnumber(string &s, int curr, int it){if(curr==s.size()) return 0;// go throughint ret = 0;for(int i = curr ; i < s.size() ; i++){if(s[i]==it+'a'){ret += countnumber(s,i+1,it);}else if(it!=2&&s[i]==it+'a'+1){ret += ..
부분배열 내의 최대값-최소값이 2와 같거나 작은 인덱스 조합의 수 head-tail을 쓰면 되지 않을까?아니면 minmax preprocessing 쓰던가. 3 5 7 6 3th t h응 됨.^^%
홀수와 짝수의 합이 같은 정수의 갯수 세기 제곧내. n  자릿수 보다 작은 홀수와 짝수의 합이 같은 정수의 갯수를 세보자.DP를 사용해보자.완전탐색에서 시작해 보자.int countsame(int curr){if(curr>n) return 0;int ret = 0;curr *= 10;for(int i = 0 ; i < 9 ; i++){if(isequal(curr+i)) ret = ret + 1 + countsame(curr+i);else ret = countsam..
ANAGRAM CHECKING 곱셈과 덧셈의 교환법칙에 의해 유일함이 담보된다.아나그람을 체크할때, SUM,PRODUCT를 비교하면 O(M) 으로 만드는 시간만 걸리고 비교는 O(1) 이 걸린다.만약 26개짜리 벡터를 비교하면 O(26) 이어서 조금 더 느리다.시간복잡도는 같다.
스크램블된 문자열을 dict를 이용해 해독해 보자. hello to the world >> elhloothtedrowl이 된다.이때 이걸 해독할 수 있을까? 단어는 전부 딕셔너리에 들어있다.풀이 :각 단어를 카운팅한다. 이제 문자열을 앞에서부터 순회하면서 카운트가 맞는 단어가 있는 경우에 찾아서 그걸 자르고, 빼고( 중복이 가능한가 ?? 여기서는 유일한 조합만 있다고 하자 ) 남은 문자열에서 같은 작업을 재귀해 준다.vector<string> findoriginal(vector&..