일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 건전한
- 단계별로풀어보기
- A - B
- C언어
- 과제
- 구현
- GUI
- *Luna
- HTML
- PyQT5
- Python
- CSS
- 메일
- OSAM
- 백준
- 건전한 취미생활
- 연결리스트
- 학습생활
- 텍스트 관련
- c++
- 프로젝트
- A×B
- 취미생활
- 텍스트 관련 태그들
- 원소 추가
- 날씨
- 독학
- VOCALOID
- 원소 삭제
- 알고리즘
- Today
- Total
목록취미생활 (32)
언유상씨의 건전한 취미생활
소스코드는 다음과 같다. 크게 중요한 부분은 다음과 같다. 1. 입력 받기 과제 제출 기한 후 교내 커뮤니티에 올라온 내용을 보면 입력 받는게 가장 여려웠다는 말이 많았다. insert a b를 어떻게 받고, 어떻게 처리할 것인가? 방법은 scanf의 특성을 이용해서 입력을 받으면 된다. scanf는 " "를 기준으로 끊기에, insert a b는 각각 "insert", "a", "b"로 입력되게 된다. 이를 이용하면, scanf("%s", &order); if (strcmp(order, "insert") == 0) // strcmp 함수를 이용해서 원하는 명령인지를 판별한다. scanf("%d %d", &index, &data); // index와 data를 받아준다. 2. 원소 추가, 삭제 단일 연결..
이번에는 과제로 나왔던 연결리스트 문제를 풀어보려고 한다. 문제는 다음과 같다. 영희는 민수에게 일련의 숫자를 불러달라는 부탁을 했다. 하지만 민수는 영희를 괴롭히고 싶어 순순히 숫자를 불러주지 않고 N개의 3가지 명령을 통해 일련의 숫자를 알 수 있게 하려고 한다. 민수가 사용할 세 가지 작업은 아래와 같다. insert a b : a번위치에 b을 삽입한다. delete a : a번째 위치의 숫자를 제거한다. show : 현재 구성되어있는 숫자들을 보여준다. 영희는 할 일이 많아서 민수의 괴롭힘을 받아줄 수 가없다. 영희를 도와줄 프로그램을 작성하자. 입력 첫 번째 줄에 명령의 개수 n(1≤n≤30)이 주어지고, 2번째 줄부터 n개의 줄에 민수의 명령 이 입력으로 주어진다. insert 명령의 경우 i..
문제 이름 : 소수 찾기 문제 번호 : 1978 사용 언어 : C 문제 유형 : 완전 탐색 문제는 다음과 같다. 빈 배열을 만든 뒤 제시된 원소를 넣고 소수의 개수를 세면 된다. 이때 소수를 판별하는 방법으로는 두가지 방법을 같이 쓸 것이다. 1. 숫자가 2 또는 3인가? 2. 숫자 보다 작은 수들중 나눈 값의 나머지가 0인 수가 있는가? 2번 조건을 조금만 더 생각해보면 다음과 같은 결론에 도달할 수 있다. 소수가 아닌수는, 제곱근의 값을 중심으로 앞 뒤에 나누는 수가 존재한다는 것. 예를 들어보면 다음과 같다. 36 의 약수 - 1 2 3 4 6 9 12 18 36 제곱근인 6을 전후의 값을 곱한다는 것을 알 수 있다. 따라서 1부터 제곱근 값 사이에서 원래 수를 나눌 수 있는 수가 없다면, 그 수는..
문제 이름 : 홀수 문제 번호 : 2576 사용 언어 : C 문제 유형 : 완전탐색 문제는 다음과 같다. 입력값들을 전부 배열에 담아서, 배열의 원소를 완전 탐색하며 문제를 해결하면 된다. 코드는 다음과 같다. #include int main() { int arr[7]; int sum = 0, min =100; for (int i = 0; i
문제 이름 : 더하기 사이클 문제 번호 : 1110 사용 언어 : C 문제 유형 : 구현 문제는 다음과 같다. 십의 자리와 일의 자리를 분리하는 부분만 신경쓴다면 상대적으로 간단한 문제다. 평소에 잘 쓰이지 않는 do - while 문을 사용해서 코드를 작성해 보았는데, 충분히 다른 방식으로도 짤 수 있을것이다. 코드는 다음과 같다. #define _CRT_SECURE_NO_WARNINGS #include int main() { int n; int l1, l2, r2; int cnt = 0; scanf("%d", &n); int k = n; do{ l1 = n / 10; // 앞자리 계산 l2 = n % 10; // 뒷자리 계산 r2 = (l1 + l2) % 10; n = (l2 * 10) + r2; c..
문제 이름 : 저항 문제 번호 : 1076 사용 언어 : C 문제 유형 : 구현 문제는 다음과 같다. 이 문제의 핵심 아이디어는 각 입력값을 문제가 원하는 대로 처리하기 위해 배열과, 조건문을 사용한다는 것이다. n이라는 변수가 들어온다고 했을때, 첫 번째로 입력받는 값은 10의 자리숫자이고, 두번째로 받은 숫자는 일의 자리 숫자이므로 조건문을 통해 몇번째로 들어온 숫자인지 확인하고, 그에 맞는 값을 이용하면 된다. 마지막에 곱해줘야 하는 값은 배열을 통해 인덱스로 접근한다. 따라서 코드는 다음과 같다. #define _CRT_SECURE_NO_WARNINGS #include #include int main() { int gb[11] = { 1, 10, 100, 1000, 10000, 100000, 10..
어플리케이션을 만들기 전에 고려할 점. 카테고리 별 실행 횟수와 사용 시간의 차이가 큰 만큼 모바일 앱의 목적을 명확하게 하라. 사용자가 지속적으로 모바일 앱을 사용하도록 유도할 수 있는 방법을 확보하는 것이 모바일 앱 생존 전략의 키 포인트 앱의 종류 네이티브 앱 앱스토어에서 다운로드 받는 것 스마트폰에 최적화 개발 비용 시간 많이 듦 최상의 사용자 환경 스마트폰의 하드웨어 기능 활용 가능 (GPS, 카메라 등) 실행속도 빠르고 안정적 웹 앱 하이브리드 앱 금, 구리, 도금된 구리의 느낌으로 이해하면 된다. information architecture 제작을 하고 만들면 된다. (일종의 flow chart) 데이터 블록 - 데이터들의 집합체 예) 카톡 친구창 데이터 블록 이름 : 친구 리스트 구성 요소..
때로 글을 쓰고 글자수를 세야하는 경우가 있는데, 인터넷 상황이 좋지 않아도 글자수를 셀 수 있는 프로그램을 만들어 보고 싶어서 제작했다. 코드 완성은 꽤나 오래전에 되었지만, 어찌저찌 하다보니 벌써 6월달이 되어있다... 역시 이번 프로그램도 부족한 부분들이 있지만, 고쳐나가겠다. 1. 전체 코드 while True: print('글자수 세기 프로그램(ver.1.0.0)') Mode = input('모드를 선택하십시오.\n 1. 공백 제외 / 2. 공백 포함 / 3. 단어 개수 / 4. 종료 ') if (Mode == '1'): while True: print ('문장을 붙여 넣기 해 주시고, 엔터를 2번 눌러주세요!') count = 0 time = 0 final = 0 blank_chk = 0 li..