Programming
-
CS50 Week4: Lab4, VolumeProgramming/CS50 2023. 7. 10. 18:04
하버드 CS50 강의 4주차 Lab 과제 Volume 의 풀이 과정을 다룹니다.C언어로 wav 파일을 읽고 조작하는 문제입니다.Intro문제 링크에서 자세한 내용을 확인할 수 있습니다.주어진 wav 파일의 볼륨을 높이는 문제$ ./volume INPUT.wav OUTPUT.wav 2.0Template템플릿이 주어져서 필요한 부분만 채우면 된다.// Modifies the volume of an audio file#include #include #include // Number of bytes in .wav headerconst int HEADER_SIZE = 44;int main(int argc, char *argv[]){ // Check command-line arguments if (arg..
-
CS50 Week3: Problem Set, TidemanProgramming/CS50 2023. 7. 9. 19:01
하버드 CS50 강의 3주차 Problem Set 과제 Tideman 의 풀이 과정을 다룹니다.C언어로 정렬 알고리즘을 활용하고, 이차원 배열을 통해 그래프를 표현/탐색해야 하는 문제입니다.Intro문제 링크에서 자세한 내용을 확인할 수 있습니다.Ranked Pairs 선거 방식을 구현하는 문제$ ./tideman Alice Bob CharlieNumber of voters: 5Rank 1: AliceRank 2: CharlieRank 3: BobRank 1: AliceRank 2: CharlieRank 3: BobRank 1: BobRank 2: CharlieRank 3: AliceRank 1: BobRank 2: CharlieRank 3: AliceRank 1: CharlieRank 2: AliceR..
-
CS50 Week3: Problem Set, RunoffProgramming/CS50 2023. 7. 8. 17:14
하버드 CS50 강의 3주차 Problem Set 과제 Runoff 의 풀이 과정을 다룹니다.C언어로 이차원 배열을 순회하고, 구조체로 구현된 선거 후보자 데이터를 다루는 문제입니다.Intro즉석결선투표제를 구현하는 문제./runoff Alice Bob CharlieNumber of voters: 5Rank 1: AliceRank 2: BobRank 3: CharlieRank 1: AliceRank 2: CharlieRank 3: BobRank 1: BobRank 2: CharlieRank 3: AliceRank 1: BobRank 2: AliceRank 3: CharlieRank 1: CharlieRank 2: AliceRank 3: BobAliceTemplate이번에도 코드 템플릿이 주어져 있다.함수..
-
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사실 문제 의도를 잘 모르겠다.큰 금액부터 동전 수를 계산하며 코인 수를 더해간다.왜 굳이 동전 종류 별로..