목록Computer Science/Coding Tips (4)
용's
순열을 만드는 아이디어는 다음과 같다 N Permutation 1 a 2 ba ab 3 cba bca bac cab acb abc ... ... 표를 자세히 보면 N이 1에서 2가 될 때, a를 사이에 두고 b가 앞 뒤쪽으로 하나씩 생겨 2개의 순열이 생겨났다. N이 2에서 3이 될 때, O b O a O 의 O에 c가 하나씩 생겨 3개의 순열이, O a O b O 의 O에 c가 하나씩 생겨 3개의 순열이 생겨 총 6개의 순열이 생겼다. 여기서 ba, ab는 N=1 -> N=2로 될 때 만들어 진 것. 따라서 Recursive Call 방법으로 순열을 만들 수 있을 것이다. (N! 이면, '(N-1)!은 내가 만드니 N만 니가 처리해줘' 라는 방식) 코드를 짜봤지만, 그 다지 깔끔한 코드가 아닌 듯 하다..
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8 이하, Accept된 내 코드 #include using namespace std; struct ListNode{ int val; ListNode *next; ListNode(int x) : val(x), next(NULL){} }; c..
오랜만에 C++ 다시 할려니 정말 기초적인 부분에서 까먹은 부분이 너무 많음. 1. char* 타입으로 바로 cin 을 통해 문자열을 입력받을려고 하니 오류가 발생. => char*으로는 바로 입력을 받을 수 없고, char* str = "asdasd" 로 바로 초기화는 가능 => char str[] 형태로 선언하고 cin으로 입력 받을 수 있음 => cin으로 입력하면, 배열의 크기와 상관없이 내가 입력이 끝난 다음 '\0'가 마지막 문자 다음에 추가 되는듯... (무조건 배열의 가장 끝에 생성되는 줄....) 2. 포인터의 size는 타입에 상관없이 4바이트 임(주소값) //reverse string 하는 메소드 작성하기(어떠한 자료구조를 사용하지 않고) //만약에 자료구조 사용가능하면 스택으로 완전..
EA를 이어 또다시 면접의 기회가 왔다! 이번에는 실수를 안하기 위해 완전 기초적인 것들 다 포함하여 '손코딩 오답노트'를 작성할 예정이다. 코딩 인터뷰 준비#1 //문자열 내에 중복문자 체크하는 메소드를 작성하라 class DuplicationStr{ public: bool Solution(string str){ bool check_arr[256] = { false }; //배열 모든 인덱스 한번에 초기화할 때 이렇게 { 초기화할 값 }으로... if (str.length() > 256) return false; for (int i = 0; i < str.length(); i++){ int val = str[i]; if (check_arr[val]) return false; else check_arr[..