Programming 9

C언어) 간단한 미로찾기 게임

- 아주 간단한 미로 찾기 게임이다. - 주인공(?)이 종점에 도착하면 프로그램은 종료한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 11..

Programming/C 2020.06.02

Java) 영어 단어 테스트 프로그램

영어단어를 테스트하는 프로그램이다. 1. 단어 삽입 2. 힌트 제공 1회 (해당 단어 스펠링 2개 공개) 3. 랜덤으로 테스트가 진행. 이미 테스트한 단어는 출력하지 않음. 4. 맞은 단어와 틀린 단어 개수 출력 //만약 힌트가 제공된 후 단어를 맞힌다면 맞은 단어에 포함 5. 주관식 1. 힌트를 제공하는 기능을 구현하는 것 => charAt(index)함수를 이용하여 string을 char type 배열로 만들어서 해결! 2. 이미 랜덤으로 테스트를 진행한 단어들을 제외하는 알고리즘을 구현하는 것 => boolean type배열을 선언하여 해결! 1. WordBookFucntion.java (interface) 1 2 3 4 5 6 7 8 9 10 package WordBook; public inter..

Programming/Java 2020.05.23

C언어) 환율 계산기 프로그램(달러, 원)

환율을 입력해 달러를 원으로, 원을 달러로 계산해 출력해주는 프로그램이다. 3번째 자리마다 ','를 넣어서 결과 값을 보기 쉽게 출력해주는 기능을 넣었다. 1. 정수형 숫자를 문자열로 바꿀 때 2. 정수형 숫자를 거꾸로 출력할 때 3. ','를 출력해야 했을 때 구글링을 통해 다른 사람의 코드를 분석하며 공부해봤다. 스스로 창의적인 코드를 만들어 프로그램을 짜는 것은 쉬운 일이 아닌 것 같다.. 창의성은 여러 가지 지식이 뭉쳐서 시너지를 내는 것이기 때문에 나보다 실력이 좋은 분들의 코드를 분석하는 것도 좋은 방법이라고 생각했다. 그렇게 내 것이 쌓인다면 나도 언젠간 창의적인 코드를 짜서 효율적인 프로그램을 만들 수 있을 거라 믿는다. 하루하루 꾸준히 도전한다면 어느샌가 실력이 늘어있을 거다!! 1 2 ..

Programming/C 2020.05.02

디앱(DApp)이란?

Decentralized Application : 탈중앙화 어플리케이션, 분산 어플리케이션 블록체인 기술을 활용하여 중앙 서버 없이 네트워크상에 정보를 분산하여 저장 및 구동하는 앱 항목 디앱(DApp) 전통적인 앱 정보 저장 / 보안 분산된 개인 간 네트워크에 저장으로 해킹의 어려움 중앙화된 데이터베이스 저장 서버나 로컬 컴퓨터를 이용하므로 해킹의 위험성 높음 데이터 삭제 여부 데이터나 거래는 생성된 뒤 삭제가 불가능 데이터베이스에서 삭제 가능 정보 투명성 모두 공개되고 공공 거래 장부에 모두 기록 데이터베이스에 기록되어 접근 권한 필요 가동성 일부 블록이 다운되어도 다른 블록들이 동일한 정보를 보유하고 있기 때문에 영향을 받지 않음 앱을 동작시키는 서버나 컴퓨터가 다운되면 정지 사용자 비용 기능을 사..

C언어) 순환을 이용한 최댓값 구하기

순환(recursion)이란? 어떤 알고리즘이나 함수가 자기 자신을 호출하여 문제를 해결하는 프로그래밍 기법이다. 주의할 점 1. 반드시 순환 호출에는 순환 호출을 멈추는 문장이 포함되어야 한다. 2. 문제의 크기가 순환이 진행될수록 작아지는 것에 유의해야 한다. 문제를 풀면서 생각하지 못했던 점들 1.반환값이 꼭 max여야 한다는 생각에 다른 식으로 접근을 하지 못했다. ==> 1시간 정도 고민해봤지만 반복문으로 밖에 코드가 나오지 않아 구글링을 했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include int findMax(int arr[],int n) { if (n == 0) return arr[0]; //배열의 index가 0일 때 a[0]반환 i..

Programming/C 2020.04.29

분산원장(Distributed Ledger)

사전적 의미 : 분산원장은 복제, 공유 또는 동기화된 디지털 데이터에 대한 합의 기술이다. 이때 데이터들은 지리적으로 여러 사이트나, 여러 국가 또는 여러 기관에 분산되어 있게 된다. 즉, 중앙 집권적인 관리자나 중앙집중의 데이터 저장소가 존재하지 않고 기능이 동작하게 된다. 분산(distributed) 말 그대로 광범위하게 널리 분포되어 있는 것. 원장(ledger) 거래 내역을 적은 장부를 말한다. 은행이나 사업체에서 수입과 지출 등 거래를 기장하는 책이나 일을 원장이라고 표현합니다. ==> 단어 자체는 거래내역을 기록한 장부가 널리 퍼져 있다는 뜻 분산원장의 장점 동일한 거래장부를 가지고 있는 개개인이 많을수록 해당 데이터의 진위여부를 파악하기 용이하다. 분산화 되어 있는 원장 중 일부 공격 받더라..

Java) 카드 번호 맞추기 게임(up & down game)

-카드 값의 범위를 99 이하에서 랜덤하게 결정하시오. 단, 최소값과 최대값의 범위가 50이상 차이나도록 제한하시오. -정답을 추정할 수 있는 횟수를 5회로 제한하시오. 입력 값(input)을 넣고 up & down을 알려주게끔 하는 코드에서 최댓값(max)과 최솟값(min) 범위 값을 다시 설정해야 했을 때 문제 해결에 어려움을 직면했다. 간단한 코드였지만... 머리가 돌아가지 않아서 한참을 헤맸다. min이나 max에 이전에 입력값을 다시 넣어주면 됬다..!! min = input; //min에 입력값을 넣어주어 범위를 다시 설정한다. System.out.println("더 높게"); System.out.print(min + " ~ " + max); 1 2 3 4 5 6 7 8 9 10 11 12 1..

Programming/Java 2020.04.09

C언어) 달력 만들기(2/2) 기능추가, code refactoring

)기능 추가 + code refactoring 1) 달력 좌, 우 방향키로 원하는 달로 이동할 수 있음. 2) 기존 코드를 refactoring 해보았음. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105..

Programming/C 2020.03.26

C언어) 달력 만들기(1/2) 기본

달력을 만들기 위해선 윤년과 윤일을 알아야 합니다! 윤년이란? 태양의 주기가 365일이 아니라 365.2422이라고 합니다. 이 작은 숫자가 몇 백 년 쌓이게 된다면 날짜가 밀리게 됩니다. 그래서 4년에 한 번씩 '윤일'을 둬서 1년을 366일로 만든 것입니다. 그게 바로 '윤일'이 들어간 '윤년'입니다. 윤일이란? 윤일이 들어가면 2월 28일에 하루를 더한 2월 29일이 됩니다. 윤달이란? 양력과 음력 사이에 날짜 차이 조정을 위해 음력에 추가시킨 달입니다. 음력 표기가 되어 있는 달력을 보면 4월 23일에 (음) 4월1일 이라고 표시되어 있는데, 5월 23일에는 (윤) 4월 1일이라고 되어 있습니다. 이게 바로 윤달입니다. (2020년 양력 기준 5월 23일 ~ 6월 21일) < 윤년을 구하는 방법 ..

Programming/C 2020.03.23