목록전체 글 (169)
하다보니
C언어를 배울 때 두 변수를 swap 하는 함수를 만드는 방법을 배웠을 것이다. 포인터를 통해서 두 변수의 값을 바꾸는 것인데 아래의 코드와 같다. void swap(int* a,int* b){ int tmp=*a; *a=*b; *b=tmp; } 그런데 C++에서는 해결법이 한 개 더 있는데, 바로 참조자(reference)이다. int 뒤에 &를 붙여 int reference를 만든다. 아래의 코드를 참고해라. void swap(int& a,int& b){ int tmp=a; a=b; b=tmp; } 위와 같이 a와 b를 참조자로 만들면 함수 내의 코드에서는 그냥 int를 쓰듯이 tmp에 a를 대입하고, a에 b를 대입하지만 위의 과정이 모두 main함수 내의 원본을 바꾸게 된다. 참조자는 C에서의 포..
C++에서 지원하는 입출력을 사용하려면 iostream 헤더 파일을 불러온다.(input/output stream이라는 뜻) 이 헤더 파일 안에 바로 std라는 네임스페이스가 존재한다. 이 안에 우리에게 필요한 cin,cout,endl 등의 요소가 존재한다. #include using namespace std; int main() { int m, n; cout > m >> n; cout

참조자는 포인터와 비슷한 성격을 띠지만 다른 개념이다. 참조자의 개념과 참조자와 포인터의 차이에 대해 알아보자. 1. 참조자의 개념 변수는 할당된 메모리 공간에 붙여진 이름이다. 여기에 이름을 더 부여할 수 있는데, 참조자는 자신이 참조하는 변수를 대신할 수 있는 또 하나의 이름이다. 간단히 말하면 별칭 같은 것이다. #include using namespace std; int main(void) { int num1=10; int &num2=num1; num2+=10; cout

함수가 외부로부터 매개 변수를 통하여 데이터를 받는 방법은 크게 두가지 이다. Call by value : 값에 의한 호출 //인수의 복사본을 함수로 전달 - 원본 변화 없음 Call by reference : 참조에 의한 호출 //인수의 원본을 '직접' 함수로 전달 #include void swapNum(int first, int second) // 반환값 없음, int형 매개변수 두 개 지정 { int temp; // 임시 보관 변수 temp = first; first = second; second = temp; } int main() { int num1 = 10; int num2 = 20; swapNum(num1, num2); // 변수 num1과 num2를 넣어줌 printf("%d %d\n", ..
코딩 테스트는 주어진 문제를 정해진 시간제한과 메모리 제한 내로 해결할 수 있는 능력을 측정하는 테스트이다. 코딩 테스트에서 좋은 성적을 내기 위해서는 배경지식, 문제 해결 능력, 구현력을 두루 갖추고 있어야 한다. 우선 배경직식은 다양한 알고리즘, 자료구조, 기타 테크닉 등과 같이 문제를 해결하기 위해 필요한 지식을 의미한다. 문제 해결 능력은 배경지식을 지금 당면한 문제에 맞게 잘 변형해서 적용시키는 능력을 의미한다. 전형적인 문제의 풀이뿐 아니라 문제가 마구 변형이 되었을 때에도 이 문제에서 요구하는 알고리즘이 무엇인지 알아내는 능력이 필요하다. 이 부분은 단원의 주제에 맞는 다양한 문제를 접해보면서 조금씩 성장할 능력이다. 이 부분은 스스로의 노력이 많이 필요한 부분. 마지막으로 구현력은 본인이 ..
BaaaaaaaarkingDog blog.encrypted.gg 바킹독님의 강의를 들으며 코딩테스트에 필요한 알고리즘 지식을 다시 정리해보고자 한다. 나는 지금껏 파이썬으로 코테를 준비했는데 C/C++기반의 강의라 이전에 공부한 C의 기억과 C++관련 지식을 추가로 공부해야겠지만...뭐...알아두면 좋으니 열심히 공부해보자ㅎㅎ 우아한 테크캠프 대비하려면 자바스크립트로도 연습해야하는데... 바쁜 취준생 오히려 좋다. 화이탱~~~
1. 다음과 같은 형태로 집합을 표현한다. s1=set({1,2,3}) s2=set([1,2,3]) s3={1,2,3} s4=set() 2. 집합의 특징 set()키워드 혹은 중괄호를 사용한다. 빈 중괄호({})는 빈 딕셔너리를 말하는 것이니 주의하자. 고유한 값을 가진다. 값 중복 불가. mutable(값이 변하는)객체이다. 순서가 없기 때문에 인덱싱이 불가하다. 3. 집합 연산 교집합 : s1.intersection(s2) 또는 & 합집합 : s1.union(s2) 또는 | 차집합 : s1.difference(s2) 또는 s1-s2 집합이 같은지 ==로 판별 집합이 아예 다른지 s1.isdisjoint(s2) =>교집합이 없다. 4. 원소 추가, 삭제 원하는 값 추가 : 집합.add() ex)s.ad..
#lock에 0이 존재하지 않는지 if all(0 not in l for l in lock): return True #lock에 0이 하나라도 존재하는지 if any(0 in l for l in lock): return True all 함수는 인자로 받은 반복 가능한 자료형(iterable)의 모든 요소가 참이면 True를 반환하는 함수이다. any 함수는 인자로 받은 반복 가능한 자료형(iterable)중 단 하나라도 참이 있으면 True를 반환하는 함수이다. 반대로 모든 요소가 거짓인 경우에만 거짓을 반환한다.
파이썬 클래스 사용 메리트 글로벌 변수를 없애고, 모든 변수를 어떠한 영역에 소속시킨다. 몇 번이고 재사용할 수 있다. 코드의 수정을 최소화한다. 함수 실행 중에 함수 자신을 다시 호출하는 처리 등이 가능하게 한다. 클래스와 인스턴스 파이썬의 클래스에 정의된 데이터나 함수를 사용하기 위해 인스턴스를 생성할 필요가 있다. 인스턴스란, 클래스를 실체화한 것이다. 하나의 클래스에 대해서 인스턴스는 여러개 생성하는 것도 가능하므로, 각각의 인스턴스에 각각 다른 데이터를 가지도록 할 수 있다. class SomeClass: def __init__(self,something): self.something = something def some_function(self): print(self.something) a=S..