초기 네이버 기록/과거 공부 기록

씹어먹는 C언어첫번째 코딩 과제 2022. 1. 7. 23:43

뜨거운 개발자 2023. 1. 5. 01:10

요즘 나는 코딩 공부중이다.

42 서울 체크인 미팅까지 끝내고 라피신 선착순 신청이 남았는데 라피신에서 살아남기 위해서는 c언어를 공부해야한다. 그렇기에 요즘 씹어먹는 c언어를 공부하고 있다.

 

https://modoocode.com/12#page-heading-6

 

씹어먹는 C 언어 - <7. 뱅글 뱅글 (for, while) >

 

modoocode.com

현재 공부하고 있는 강의다.

처음으로 스스로 문제를 풀어봤다.

내가 할 수 있는 방법들을 동원해봐서 푸는데 왜 사람들이 손으로 코딩을 한다는지 알정도로 그냥 머리속으로만 풀고 컴퓨터에 타이핑 하는 방법보다 손으로 쓰다보니까 더 머리가 잘 정리 되는걸 느꼈다.

 
 
Previous imageNext image
 

혼자서 열심히 끄적거린 노트 풀고나니 쾌감이 엄청나다.

겨우 하루에 문제 하나 푼 거였지만 제대로 코드를 작성한 건지도 잘 모르겠지만 스스로 문제를 해결했다는 사실이 정말 대견하다. 더 간결한 코드가 있으면 참고하겠다.

법보다 손으로 쓰다보니까 더 머리가 잘 정리 되는걸 느꼈다.

//문제 1

#include <stdio.h>
int main() {
	int s;//s번째 줄
	int n;//총 n번째 줄
	int x, k, i;
	

	printf("총 몇번째 줄 삼각형을 만들지 입력하라");
	scanf_s("%d",&n);
	for (s = 1; s <= n; s++) {
		k = n - 1 - s;
		for (x = 0; x <= k; x++) {
			printf(" ");

		}
		for (i = 1; i <= 2 * s - 1; i++) {
			printf("*");

	}

		printf("\n");



	}

	return 0;
}
//문제 1

#include <stdio.h>
int main() {
	int num;
	printf("피라미드 층수를 입력하세요:"); 
	scanf_s("%d", &num); 
	if (num <= 0) {
		printf("(오류) 자연수를 입력해야합니다."); 
		return -1; 
	}
	for (int i = 0; i < num; i++) {
		int star_number = 2 * (i + 1) - 1; 
		int blank_number = (num - 1) - i;
		for (int p = 0; p < blank_number; p++) {
			printf(" ");
		}
		for (int q = 0; q < star_number; q++) {
			printf("*");
		}
		printf("\n");
	}
	return 0;
}
더 좋은 코드를 작성한 분이 계시길래 참고를 해봤다.

출처: https://itmir.tistory.com/691 [미르의 IT 정복기] p-

이 분과 나의 차이점은 우선 for 문 내에서 변수를 선언한 것과, 나처럼 어렵게 변수들을 추가하는게 아니라 아에 변수명을 예쁘게 만들어서 어떤 변수인지 알 수 있게 하는것이다. 그 변수들의 명확한 정의가 훨씬더 코드를 간단하게 짜게 해줬다. 많은 배움이 있는 첫번째 문제이다. (혹시 코드를 퍼온게 문제가 된다면 삭제하겠습니다)

이 문제들을 풀면서 궁금했던건 왜 char a="*"을 한 이후에 a*n의 식이 안되는지 궁금증이 생겼다.

아직은 아무도 모르는 블로그겠지만 누군가 알고있다면 댓글로 알려주시면 정말 감사드리겠습니다....

2023년 1월 지금 보니 정말 뭐가 궁금했던 건지도 모르겠네요 ㅎㅎ 귀여운 기록입니다.

 

이 글은 코딩 꼬꼬마 시절에 푼 문제를 보관한 글로 네이버에 저장해둔 글을 옮긴 글입니다.
혹시나 참고하시는 부분에 이상한 부분이나 질문이 생긴다면 남겨주시면 친절히 답변 드리겠습니다.

728x90