1. 우분투 설정 하기
자동 스크린 꺼짐 수정
오른쪽 상단 ⬇️ ➫ 설정(Settings) ➫ 사생활보호(Privacy) ➫ 화면잠금(Screen Lock)
화면꺼짐 15분, 스크린 락 30분
커서 크기 변경
오른쪽 상단 ⬇️ ➫ 설정(Settings) ➫ 접근성 ➫ 보기 ➫ 커서 크기 변경
단축키 변경
오른쪽 상단 ⬇️ ➫ 설정(Settings) ➫ 키보드 ➫ 키보드 바로가기 ➫ 바로 가기 보기 및 사용자 설정
➫ 실행
- 홈 폴더(Home folder):
- Super + E (윈도우 동일) => Windows + E
- 터미널 실행(Launch terminal):
- Super + T => Windows + T
- 검색(Search):
- Super + S (윈도우 동일) => Windows + S
- 설정(Setting):
- Super + I (윈도우 동일) => Windows + I
스크린샷
- 대화식으로 스크린샷 찍기:
- Shift + Super + S (윈도우 동일) => Shift + Windows + S
1. dpkg와 .deb
초창기 리눅스에서는 프로그램 설치가 어렵고 복잡했기 때문에, 초보자에게는 큰 장벽이었습니다.
이를 개선하기 위해 데비안(Debian) 리눅스에서 .deb 확장자의 설치 파일을 만들었습니다.
- .deb 파일은 Windows의 setup.exe처럼 설치 후 바로 사용할 수 있는 포맷입니다.
- 이 파일을 리눅스에서는 패키지(package)라고 부릅니다.
- .deb 패키지를 설치,관리하는 명령어가 바로 dpkg입니다.
패키지이름-버전-개정번호-아키텍처.deb
패키지이름-12.3-4-amd64.deb
| 항목 | 설명 |
| 패키지이름 | 소프트웨어 이름 (examplepkg, vim, nginx 등) |
| 버전 (Version) | 해당 소프트웨어의 릴리즈 버전 (12.3) |
| 개정번호 (Revision) | 패키지를 빌드하거나 수정한 횟수를 나타냄 (-1, -2 등). 같은 버전에서의 패키징 차이 |
| 아키텍처 (Architecture) | 대상 시스템의 CPU 구조예: amd64(64비트), i386(32비트), arm64(ARM 64비트) |
| .deb | Debian 패키지임을 나타내는 확장자 |
4. dpkg 명령어
1. 패키지 .deb 수동 설치
sudo dpkg -i 패키지이름.deb
2. dpkg를 이용한 패키지 삭제
sudo dpkg -r 패키지이름.deb
2. 도트로 왕관 그림 만들기

먼저 그림을 조각 냅니다.

이렇게요
1. 크게 3구역으로 나뉘므로 외부 for문은 3개가 필요합니다
2. 가장 위 삼각형 3개는 공백, 별, 공백, 별... 반복해서 총 9개의 내부 for문이 필요합니다

3. 가운데 삼각형은 총 3개의 내부 for문이 필요합니다

4. 아래의 직선은 14번 반복만 합니다

5. 결과

3. 달력 만들기
1. 달력을 만들기 위해서는 구하려는 입력 월의 1일의 요일을 알아야 한다.
이유는
시작요일을 알게 되면 입력 월의 일수 만큼 출력하면 되기 때문입니다.
그럼 시작요일을 어떻게 구해야 할까요?
방법은 당해연도의 1월 1일을 알게 되면 구할 수 있었습니다.
구체적으로

일요일을 0으로 하고 토요일을 6으로 한 인덱스를 사용 한다고 가정하면
이 그림을 통해 알 수 있는 것은 1월의 시작요일이 월요일(1)이라는 것입니다.

만약 9월의 시작요일을 알고 싶다면
1월의 일수+2월의 일수+3월의 일수+ .... 8월의 일수 를 다 더해 7로 나눈 나머지를 1월의 시작요일에 더 합니다.
243 % 7 =5
1+5 = 6(토요일)
결론 : 입력연도의 월의 시작요일을 알기 위해서는 입력연도의 1월 1일이 무슨 요일인지 알아야 한다.
2. 입력연도의 1월 1일이 무슨 요일인지 구해야 한다.
입력연도가 2000년 이라면, 구하고자 하는 건 2000년 1월 1일입니다.
1년 1월 1일부터 1999년 12월 31일 까지의 모든 일수를 7로 나눈 후 1을 더 합니다(구하고자 하는 요일)
모든 일수는 윤년인 경우에는 366일이, 평년인 경우에는 365일이 더 해지므로 윤년의 수와 평년의 수를 구별해야 할 필요성이 있습니다.
1999//4 (제일 처음 식별한 윤년의 수) = 499
1999//100 (윤년이라고 식별했지만 다시 평년으로 인식해야 할 수) = 19
1999//400 (평년으로 바꿨지만 다시 윤년으로 인식해야 할 수) = 4
따라서 윤년의 수는 484(499-19+4)가 되고, 평년의 수는 1515(1999-484)가 됩니다.
구하고 싶은 모든 일 수는 730119(484*366 + 1515*365)가 되고,
7로 나눠준 나머지는 5(금요일)입니다.
하지만 이건 1999년 12월 31일의 요일이 되고, 2020년 1월 1일은 1을 더 해줘야 하므로
2020년의 1월 1일은 6(토요일)이 됩니다.

3. print 하기
1)


2)

원래 마지막 줄은 아래와 같았는데


출력한 결과가 이런 식이여서

위 처럼 튀어나가지 않고 다음 줄에 출력 되도록 수정했습니다.
4. 숫자야구 만들기

오락실 게임처럼 무엇이든 누르면 시작할 수 있도록 했습니다.

1. 게임 시작과 동시에 랜덤한 수 3개를 리스트에 추가합니다.
랜덤으로 세가지 수를 생성해서 리스트에 각각 담는데 중복되는 문제가 생겨서
랜덤으로 생성된 수를 가진 변수 a가 리스트 안에 있는 수일 경우에는 리스트 안에 없는 수가 될 때까지 반복하여 랜덤하게 뽑도록 했습니다.
2. 지금부터 9라운드 동안 진행됩니다.


수를 입력 받은 후 정수로 바꿔주고 반복문을 탈출합니다.
수를 제외한 것들을 받으면 정수로 안바뀌므로 다시 입력하게 합니다.

매 라운드마다 각 카운트는 리셋됩니다.
이유는 라운드마다 사용자의 변화된 입력변수에 대응하여 처음부터 카운팅하기 위해서 입니다.

ball을 선별하는 과정입니다.
위치는 상관이 없고, 단지 입력받은 수가 lst 안에 있는지 확인하는 과정입니다.
있다면 1을 카운팅 합니다.

ball이 하나라도 있는 경우에는 위를 실행합니다.
이유는 ball이라고 식별했던 것들이 위치까지 맞다면 strike라는 의미이므로, ball을 strike로 바꿔주기 위함입니다.
lst의 각 인덱스와 입력받은 수 순서까지 일치하면 strike를 카운팅하고 ball은 지웁니다.
원래는 strike만 +1하는 코드만 있었고, ball을 -1 하지 않았는데 출력결과가 strike와 ball이 중복되어 나타났기 때문에 이를 해결할 방법으로 ball을 -1 했습니다.

ball과 strike가 둘 다 0 이라면, 숫자도 위치도 모두 맞는 것이 없다는 것을 의미하므로 out 을 출력합니다.
그 외의 경우에는 카운팅한 strike 와 ball 의 수를 출력합니다.
만약 Strike가 3이라면 수와 위치 모두 일치하다는 의미이므로 그 즉시 게임을 종료 시킵니다.

