문제사이트 : http://codeup.kr/problem.php?id=1925


해결 방법 :


nCr을 구하기 위해서 생각해보면, 


n개 중 r개를 뽑는 것은  

n개 중 먼저 하나를 보는데 이게 뽑혀져있는 상황에서 r-1개(하나가 먼저뽑혓다)를 뽑는 경우 + n개 중 하나를 먼저 보는데 이게 안뽑혀있는 상황에서 r개를 뽑는 경우의 수랑 같다는 것을 아는 것이 이 문제를 푸는 핵심인것 같다.



이제 이를 이용해서 점화식을 세운다면, 

 가 된다.



이식을 바탕으로 재귀함수를 디자인하면 된다.


기저조건은 r 부분이 0이 되거나 혹은 n과 r이 같을 때 이 두가지로 나눌수있다.

기저조건이 아닐때는 점화식대로 재귀함수를 호출해주면 된다.



반응형

'PS > 코드업' 카테고리의 다른 글

3015번 성적표 출력  (1) 2019.04.14
3704번 계단 오르기 2  (0) 2019.03.31
1920번 2진수 변환 (재귀함수)  (0) 2019.03.16
3733번 우박수 길이 - large  (0) 2019.01.27
2606. 소수점 이하 출력  (0) 2018.12.17

문제 사이트 : http://codeup.kr/problem.php?id=3015


문제 설명 : 

n명의 학생에 대해 이름과 점수를 입력받고 주어진 조건(단, 출력순서는 점수가 높은 학생이 먼저 출력되며, 점수가 같을 경우 입력 순서가 빠른 순서로 출력한다.) 에 따라 첫번째부터 m번째 까지의 학생 이름을 출력하는 문제이다.


-입력-

4 2

Jeon 95

Kim 59

Lee 90

Bae 100


-출력-

Bae

Jeon


요롷게 되면 된다.


해결 방법 : 

구조체 설계를 할때 조건에 맞게 정렬을 하기위해서 입력된 순서를 알고있는 녀석을 추가해서 

멤버변수로 학생이름, 성적, 학생입력순서 이 세개를 갖도록 설계한다.


struct student{

char name[];

int score;

int number; // 입력순서정보!

}


그리고 sort 함수로 비교함수를 넣어서 구조체 멤버변수 기준으로 조건을 정해서 정렬시키면 원하는 답을 구할 수 있다.

여기서 비교함수를 구현 하는게 조금 애매할 수 있는데 멤버변수 두개를 비교해서 < 면 오름차순 , >면 내림차순, == 같으면 입력순서로 기호에 맞게 정렬을 시켜주면 된다.



반응형

'PS > 코드업' 카테고리의 다른 글

1925 (재귀함수) nCr  (0) 2019.05.15
3704번 계단 오르기 2  (0) 2019.03.31
1920번 2진수 변환 (재귀함수)  (0) 2019.03.16
3733번 우박수 길이 - large  (0) 2019.01.27
2606. 소수점 이하 출력  (0) 2018.12.17

주말에 심심해서 구조체에 대한 문법을 짧게 정리 해보려고 한다ㅎㅎ

<위키 백과 참고>

구조체  : C/C++ 프로그래밍 언어에서 구조화 된 데이터를 처리할 때struct를 사용하는데 이를 구조체라고 한다. 라고 말하는데

솔직히 보고 확 와닿지는 않았다. 

구조화된 데이터 처리 ??? 뭐지??


그래서 쉽게 생각해봣는데, 구조체는 데이터를 하나로 묶어서 사용하고 싶을 때 쓰는 일종의 '문법' 이라고 볼수있다.

이때, 묶긴 묶되 '잘' 묶어야되는게 구조체의 핵심이라고 생각한다. 즉, 데이터 묶음 자체가 가지고 있는 데이터들과의 연관관계가 있어야 하는 것이다. 


예를 보면 책이라는 대상이 있다.

책에는 제목이있을것이고, 가격도 있을거고, 저자도 있을것이다. 

따라서,

struct book{

   char title[20];

   char author[10];

   int price;

};


라고 struct 문법을 이용해서 표현할 수 있는 것이고,  묶어진 요소들을 보면 Book과 연관되어 있기 때문에 잘 묶여진 것이라고 볼수있다.


이처럼 struct에 대한 의미를 알고 앞으로 이를 잘 활용해서 써보자ㅎㅎ



아!! 참고로 typedef를 사용해서 구조체 선언을 간편하게 사용하는 방법도 있다.


typedef struct book{

    ...

    ...

}Book;






반응형

'취미' 카테고리의 다른 글

카카오톡 영구정지 해결방법  (1) 2019.05.29
[ES6] var, let, const 란?  (0) 2019.02.23
뷰 공부시작한날  (2) 2019.02.03
[드라마] 프리스트 9화 이후 추측글  (0) 2018.12.23
오늘의 알바-부평문화의거리 서포터즈  (0) 2018.12.14

+ Recent posts