마음만은 새내기

항상 초심을 잃지 않고 생활하겠습니다~!

프로그래밍 92

SCPC 2019 대회 준비 겸 알고리즘 문제 풀이 업로드 안내!!

안녕하세요~! (너무 오랜만에 글을 쓰네요... ㅠ.ㅠ) 제가 최근에 학교에서 SCPC 2019와 관련된 자료를 보았는데요, 저의 프로그래밍 실력이 어느 정도인지 알아보는 경험 삼아 참가 신청을 하게 되었어요 ^^ (예선 1차 기출문제를 보았는데... 문제가 어려운 것 같았어요... ㅠ.ㅠ) 또한, 대회를 준비하면서 다양한 문제 풀이 사이트(BOJ, HackerRank, CodeGround 등...)의 문제를 풀어보면서, 풀이를 블로그에 올려보고 싶다는 생각도 하게 되었죠... (물론, 예전에 BOJ 문제 풀이를 몇개 올린적도 있죠...) 참고로, HackerRank는 영어로 되어있어서, 문제가 제대로 이해가 되지 않을 때도 있지만, 쉬운 문제부터 단계적으로 풀어보면 이해가 가는 것 같아요... ^^ 문..

간단한 난수 생성기, LCG에 관해서

C언어를 하면서, 난수 생성애 관한 정보를 찾아보다가, LCG에 관한 내용을 보았고, 여기에 Visual Studio 2010에서 사용되는 인수도 나와있었어요~! ★ LCG란?? (출처 : Wikipedia 문서) LCG = Linear Congruential Generator (직역 : 선형 합동 생성기) 가장 잘 알려진 난수 생성 방법 중 하나로, 재귀적으로 다음과 같이 정의됩니다. Xn+1 = (aXn+c) mod m 여기에서 Seed 값도 중요한데요, 쉽게 생각하시면, Seed = X0이라고 생각하시면 됩니다. 컴파일러마다 다르겠지만, Visual Studio에서 사용되는 인수를 알려드리고자 해요~! Xn+1 = (aXn+c) mod m ※ 인수 m = 232 a = 214013 (0x343FD)..

BOJ 2740번(행렬 곱셈) 문제 풀이

★ solved.ac 난이도 : B1 (2021년 12월 29일 기준) [문제 링크] 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net [문제 분석] 두 행렬의 곱을 구하는 문제 [풀이] 이 문제는 두 행렬이 주어졌을 때, 두 행렬의 곱을 구하는 문제입니다. 두 행렬의 곱을 구하려면, (행렬 A) = N*M, (행렬 B) = M*K 크기여야 합니다. (즉, 행렬 A의 열의 개수와 행렬 B의 행의 개수가 같아야겠죠?) [행렬의 곱 구하기] (여기에서 Aij = 행렬 A의 (i, j) 위치를 나타..

C언어 포인터를 이용하여 함수에서 여러 개의 값 반환하기

[C언어 함수에서 여러 개의 값 반환하기] : 포인터를 이용한 방법 일반적으로 C언어의 return 문은 하나의 값만 반환할 수 있는데요,함수에 포인터를 넘겨줌으로써 여러 개의 값을 반환하는 예제를 들어보겠습니다.(scanf 함수도 이를 이용한 방법입니다.)가장 기본적인 두 수의 합과 차를 동시에 반환하는 함수를 구현해보았습니다.기본적으로 C언어의 함수는 '값에 의한 호출' (Call by Value) 방식인데요,'참조에 의한 호출' (Call by Reference) 방식을 구현하기 위해서 포인터를 사용했습니다.참고로, 함수에 배열을 전달하는 경우에는 기본적으로 '참조에 의한 호출' 방식을 사용합니다. #include void sum_minus(int a, int b, int *sum, int *min..