Programming/CS50
-
Cs50 Week3: Problem Set, PluralityProgramming/CS50 2023. 7. 7. 16:01
하버드 CS50 3주차 Problem Set 과제 Plurality 의 풀이 과정을 다룹니다.C언어로 배열을 탐색하며 최다 득표자를 출력하는 문제입니다.Intro복수투표 선거를 구현하는 문제$ ./plurality Alice Bob CharlieNumber of voters: 4Vote: AliceVote: BobVote: CharlieVote: AliceAliceTemplate기초 코드 템플릿이 주어져 있다.vote() 함수와 print_winner() 함수만 구현하면 된다. #include #include #include // Max number of candidates#define MAX 9// Candidates have name and vote counttypedef struct{ str..
-
CS50 Week2: Problem Set, CaesarProgramming/CS50 2023. 7. 5. 02:34
하버드 CS50 2주차 Problem Set 과제 Caesar 의 풀이 과정을 다룹니다.C언어로 Command-line Argument를 배열로 받아, 받은 문자열을 암호화는 문제입니다.Intro문제 링크에서 자세한 내용을 확인할 수 있습니다.Caesar's Cipher 를 통한 암호화 예제$ ./caesar 1plaintext: HELLOciphertext: IFMMPDetailcommand-line argument를 통해 cipher key 값을 받는다. 인자가 여럿이거나 숫자가 아닐 경우 오류 메시지와 함께 1을 반환해야 한다.암호화 시 대문자/소문자를 보존해야한다.Code처음엔 어려워보였는데 막상 시작하니 할만 했다.문자를 숫자로 바꿀 때 이전 문제에서 letter - 65 를 했었는데, 알고보..
-
CS50 Week2: Lab2, ScrabbleProgramming/CS50 2023. 7. 4. 21:28
하버드 CS50 2주차 Lab 과제 Scrabble 의 풀이 과정을 다룹니다.C언어로 글자별 점수가 적혀있는 배열을 이용해 Scrabble 게임의 점수를 계산하고 승자를 가리는 문제입니다.Intro문제 링크 에서 자세한 내용을 확인할 수 있습니다.Scrabble 게임의 승자를 가리는 문제$ ./scrabblePlayer 1: COMPUTERPlayer 2: sciencePlayer 1 wins!Detail기본 템플릿이 주어져서, 점수 계산 및 출력 부분만 완성하면 된다.Template#include #include #include #include // Points assigned to each letter of the alphabetint POINTS[] = {1, 3, 3, 2, 1, 4, 2, 4, ..
-
CS50 Week1: Problem Set, CreditProgramming/CS50 2023. 7. 4. 16:21
하버드 CS50 1주차 Problem Set 과제 Credit 의 풀이 과정을 다룹니다.C언어로 조건문과 반복문을 사용해 필요한 알고리즘을 구현하고 데이터를 검증해야 합니다.Luhn's Algorithm을 사용하여 신용카드 번호의 유효성을 검증하고, 복잡한 조건문을 통해 신용카드를 발급한 회사를 파악합니다.Intro문제 링크에서 자세한 내용을 확인할 수 있습니다.주어진 신용카드 번호를 바탕으로 카드번호의 유효성 및 신용카드 회사를 판단하는 문제. $ ./creditNumber: 4003600000000014VISADetailInput 데이터는 숫자 only, 0으로 시작하지 않음. CS50 내장 라이브러리의 get_long 함수를 사용할것(카드 번호의 길이 때문)카드 번호의 유효성은 Luhn's Algo..
-
CS50 Week1: Problem Set, CashProgramming/CS50 2023. 7. 2. 01:18
하버드 CS50 1주차 Problem Set 과제 Cash 의 풀이 과정을 다룹니다.C언어로 함수를 작성하여 잔돈의 동전 수를 계산하는 문제입니다.Intro문제 링크에서 자세한 내용을 확인할 수 있습니다.주어진 Cent 금액을 바탕으로 필요한 동전의 수를 계산하는 문제 $ ./cashChange owed: 414Detailsget_cents() 함수로 음수가 아닌 정수를 input 받을것주어진 cent 금액을 바탕으로 필요한 동전의 수를 반환하는 calculate_quaters, calculate_dimes, calculate_nickels, calculate_pennies 함수를 작성할 것Code사실 문제 의도를 잘 모르겠다.큰 금액부터 동전 수를 계산하며 코인 수를 더해간다.왜 굳이 동전 종류 별로..
-
CS50 Week1: Problem Set, MarioProgramming/CS50 2023. 7. 2. 00:49
하버드 CS50 1주차 Problem Set 과제 Mario 의 풀이 과정을 다룹니다.C언어로 반복문을 사용해 피라미드(같은 무언가)를 출력하는 문제입니다.printf() 함수의 format specifier 중 width와 precision을 사용한 다른 방식의 풀이도 소개합니다.Intro문제 링크에서 자세한 내용을 확인할 수 있습니다.마리오가 넘고 있는 구조물을 출력하는 과제. 구조물의 높이는 사용자 입력으로 받는다.$ ./marioHeight: 4 # # ## ## ### ####### ####Details사용자 입력값 요구사항입력 값은 1에서 8까지 정수로 한정한다. 범위를 벗어난 경우 재입력받는다.Implementation사용자 입력 구현// Get height from useri..
-
CS50 Week1: Lab1, Population GrowthProgramming/CS50 2023. 7. 2. 00:26
하버드 CS50 1주차 Lab 과제 Population Growth 의 풀이 과정을 다룹니다.C언어로 기초적인 입출력과 숫자 연산을 수행하는 문제입니다. Intro문제 링크에서 자세한 내용을 확인할 수 있습니다.Task지구 어디선가 라마가 번식하며 살고 있다. 초기 시점 라마 수(Start size)와 목표 라마 수(End size)가 주어질 때 목표 수에 도달하는 데 걸리는 연도를 계산하는 문제$ ./populationStart size: 100End size: 200Years: 9Details라마의 번식N 마리 라마 집단을 기준으로, 매년 N/3 마리의 라마가 태어나고, N/4 마리의 라마가 사망한다.나머지는 버려진다. 즉 N=9 일 때 새로 태어나는 라마는 3마리, 사망하는 라마는 2마리가 된다...
-
CS50: Introduction to Computer ScienceProgramming/CS50 2023. 7. 1. 23:58
오늘부터 프로그래밍 공부를 시작해보고자 하버드 대학교 컴퓨터 과학 개론 수업을 수강하기로 했다. 전 강의가 무료로 유튜브에 올라와 있고, 강의안이나 과제도 전부 웹사이트에 정리되어있어서 편하게 공부 할 수 있을 듯 edx 통한 과제제출은 하지 않고, 강의 내용도 굳이 광활한 인터넷에 초보자의 허접한 정리 같은걸 올려서 혼잡하게 하고 싶지 않기 때문에 생략, 대신 이따금씩 과제 푼거 올려서 나처럼 혼자 독학하는 사람들이 코드 비교하고 좋은 피드백 나눌 수 있었으면 좋겠다. 누군가가 본다면~~