본문 바로가기

전체 글24

200문제 챌린지 - 백준[11718] 그대로 출력하기 공부를 하면서 코테를 많이 풀기가 어려워 매일 1개라도 푸는 것을 목표로 잡아뒀다. 그렇게 매일 1문제씩 풀어나가고 있는데 11718번에서 막히게 되어서 블로그에 정리해두려고 한다.https://www.acmicpc.net/problem/11718우선 문제를 봐보자.정말 간단해보이는 문제라서 별 생각 없이 코드를 짜내려갔다.#include void printing(char* ch){ int i; for(i = 0; *(ch+i) != '\0'; i++){ printf("%c", *(ch+i)); } printf("\n");}int main(){ char line[101]; while(scanf("%s", line) != EOF){ printing(.. 2025. 4. 13.
자료구조 1주차 - 재귀함수 (피보나치, 하노이 탑 예제) 이번 학기에 듣게 된 자료구조라는 과목에서 1주차에 다룬 주제는 바로 '재귀함수' 였다.재귀함수란 무엇일까? 위키백과에서 정의를 가져오면 이런 뜻이다.이 정의를 보면 어렵다고 느낄 수 있다. 쉽게 예를 들자면, 함수를 정의할 때 그 함수를 집어넣는 것이다. 이때 주의할 점은 함수가 종료되는 기점을 꼭 만들어두는 것이다. 그렇지 않으면 끊임없이 함수가 호출되기 때문이다.  피보나치와 하노이 탑 예제를 살펴보며 이해해보자.피보나치 문제수 n을 입력하면 피보나치 수열에서 n번째 항을 구하는 프로그램을 짜보자. 이 문제를 재귀 호출을 이용해서 풀어보고, 재귀 호출을 이용하지 않고 풀어본 이후,각각 성능을 비교해보는 활동을 해보자. 비교를 위해 우선 코드를 짜보자public class Fibonacci { .. 2025. 3. 12.
코드업 100제 + 100문제 챌린지 - 0 2학년이 되어서 대외활동을 찾아보다 보니 카카오 테크 캠퍼스를 알게 되었다. 처음에는 아무것도 모르고 그저 신청하려고 했지만, 심사 기준에 코딩 테스트가 들어간다는 것을 알게되었다. 대학 1년동안 코테실력이 정말 부족하다는 것을 느꼈기 때문에 1년동안 공부와 준비를 해서 내년에 신청을 해보기로 결심했다.어떻게 준비해야 할지 고민이 되어서 '이것이 취업을 위한 코딩테스트다'라는 책을 읽어보았다.여기서 여러 온라인 저지를 설명해주는데, 국내의 온라인 저지들에 대해 특히 더 자세히 설명해준다.가장 유명한 백준 온라인 저지 외에도 코드업, 프로그래머스, SW Expert Academy 등 다양한 사이트의 존재를 알게되었다.  각 온라인 저지에 대한 간략한 설명과 링크를 남겨두겠다. 백준 온라인 저지https:/.. 2025. 3. 10.
플러터 공부(2) -계산기 코드 분석하기 (1) — 상속, 오버라이드 원래는 1차시에서 말한대로 다트의 문법을 공부하려고 했지만 학습방향이 바뀌어서 수정하게 되었다. 학교에서 플러터 스터디를 진행하던 중, 함께 스터디를 하시는 선배님께서 무언가를 만들어야 습득이 빨리 된다고 하셨다. 처음에는 계산기 코드를 직접 짜라고 하셨는데 너무 어려워서 실패했다.그래서 대안으로 계산기 코드를 중간에 오류를 하나 섞어 놨으니 한 줄씩 분석하며 공부하라고 짜주셨다. 분석한 과정을 블로그에 올리면 처음 공부하시는 분들께 도움이 많이 될 것 같아서 가지고 와봤다. 거기에 추가로 주신 과제들도 함께 풀어보자 과제 목록계산기 코드 한 줄 한 줄 분석하기계산기 코드에서 오류 찾아내고 가능하면 고치기state가 무엇인지 알아내기생성자가 무엇인지 알아내기 1. 계산기 코드 한 줄 한 줄 한 줄 분석하.. 2025. 2. 14.
백준(27866) - 문자와 문자열[C 언어] 오늘은 기본 개념을 살펴보기 위해 좀 간단한 문제를 들고 와봤다.이 문제에서는 필요한 개념만 알면 매우 간단하게 슥슥 풀 수 있는 문제다.우선 C 언어에서는 String이 없기 때문에 문자열을 말 그대로 문자의 배열로 받아온다.그래서 입력의 첫줄을 문자열에 집어넣으면 자동으로 순서가 생기기 때문에 그냥 그 순서에 맞게 지정해주면 된다. 실제 코드로 보는 것이 더 이해가 쉬울 것 같아서 바로 정답으로 넘어가자.#include int main(){ int n; char s[1000]; // 문자열을 문자의 배열로 선언 char word; scanf("%s", &s); // 스캔할 때는 %s로 통으로 스캔해온다 scanf("%d", &n); word = s[n-1.. 2025. 1. 28.
백준(1546) - 평균 [C 언어] 오늘부터는 미루니 문제가 끝나서 새로운 문제를 풀어갈 것이다! :)오늘의 문제는 백준에서 스페셜 저지 배지가 있는 문제였다.여기서 스페셜 저지란, 출력값이 답과 완전히 같지 않아도 정답으로 인정되는 문제로, 주로 답이 소수점까지 들어가면오차범위로 인해 이런 조건이 걸리게 된다. 문제를 한번 봐보도록 하자. 이런 계산을 시키는 문제는 어떤 흐름으로 계산이 이루어지는지 정리를 한 후에 푸는 것이 좋다. 또다시 허접한마우스그림을 그려보도록 하겠다.너무 허접해서 부가 설명을 하자면, 1)에서 정수형 변수로 밑에 들어올 변수의 개수를 구한다. > int n 필요2)는 변수를 받을 때마다 최댓값 변수와 값을 비교하여 새로 받은 수가 더 큰 경우 최댓값에 그 수를 저장한다.> int max, num[n] 필요3)에서.. 2025. 1. 27.