파이썬 조건문까지 학습했기 때문에 백준에 있는 조건문 문제를 풀어보았다.

 

[9498] 시험성적

답안

A = int(input())

if 90<=A<101:
    print("A")
elif 80<=A<90:
    print("B")
elif 70<=A<80:
    print("C")
elif 60<=A<70:
    print("D")
else:
    print("F")

이정도는 큰 어려움 없이 클리어~!

 

[2753] 윤년

 

답안

A = int(input())

if A%4 == 0 and (A%100 != 0 or A%400 == 0):
    print("1")
else:
    print("0")

이정도도 문제없이 클리어

 

[14681] 사분면그리기

답안

A = int(input())
B = int(input())

if A>0 and B>0:
    print("1")
elif A<0 and B>0:
    print("2")
elif A>0 and B<0:
    print("4")
elif A<0 and B<0:
    print("3")

해당 문제는 A와B 값을 따로 받았다.

문제 없이 클리어!

 

[2884] 알람시계

해결 포인트

입력된 시간보다 45분이 단축되어 표시해줘야하는데... 주어진 분이 45분 이상이면 시간은 줄어들지 않지만 45분 미만이면 시간은 -1되어 나타나야한다. 따라서 이를 가지고 IF문을 걸어줬으며 이에 따른 출력 분에는 +15 시켜줬다.

답안

H,M = map(int,input().split())

if 45<=M<=59:
    print(H,M-45)

elif 0<=M<45:
    if 0<H:
        print(H-1,M+15)
    elif 0==H:
        print(23,M+15)

 

[2525] 오븐 시계

해결 포인트

사용자로부터 시작 시간(시/분)과 소요시간(분)을 입력받아 시간을 더해 출력하는 문제이다.

시작 시간 = A, 시작 분 = B, 소요 분 = C이라 가정했을때 B와 C 합친 값이 60을 넘어가면 A에 영향을 주기때문에 이를 먼저 IF 걸어주었다.

추가로 A가 가질 정수 값은 0~24까지이다. 이를 고려하여 다시한먼 IF를 걸어줘야한다.
아래 답안을 참고하길 바란다.

답안

A,B = map(int,input().split())
C = int(input())
if (B + C) >= 60:
    if 0 <= ((B+C)/60 + A) <= 24:
        print("{} {}".format(int((B+C)/60 + A),(B+C)%60))
    else:
        print("{} {}".format(int((((B+C)/60 + A))-24),(B+C)%60))
else:
    print("{} {}".format(A,B+C))

 

[2480] 주사위 세개

해결 포인트

보기엔 비교적 간단해보이나 / 연산자를 이용하면 소숫점 까지 나타날것이다.
이를 해결하고자 int 형으로 변환하는 작업을 했지만 // 연산자를 사용하게 되면 정수로만 사용가능하다.

 

답안

A,B,C = map(int,input().split())
if A==B==C:
    print(10000+A*1000)
elif A==B or A==C or B==C:
    if A==B:
        print(1000+A*100)
    elif A==C:
        print(1000+A*100)
    elif B==C:
        print(1000+B*100)
elif A!=B!=C:
    if A > B and A > C:
        print(A*100)
    elif B > A and B> C:
        print(B*100)
    elif C > A and C > B:
        print(C*100)

 

오랜만에 파이썬을 공부했다..

물론 초반인 만큼 기초적인 문법만 공부했지만

현재 자바스크립트, HTML과 병행하여 공부중인 나에겐 머리속에서 짬뽕이 되는것같다.

그래서... 결국 파이썬 먼저 학습하려고 한다.

앞으로 온라인 강의는 잠시 내려두고 파이썬에만 집중할것이다.

 

파이썬 기본 적인 문법을 익히고 코딩테스트 예제를 풀어보았다.

 

백준 1330번 파이썬)

단순하게 두 수를 비교하는거다.... 문제를 읽는데 뭔가 찝찝했다...

첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.

A와 B가 공백 한칸으로 구분되어있다라...

이런걸로 벌써 고민하는게 기분이 좋지 않았다.처음에는 A와 B 두번 input을 받아 해결하려 했지만 뭔가 아닌거같아 생각해보니...공백을 기준으로 두 값을 나눈다. 라는 생각이 들어 split을 생각했고 이를 가지고 다시 고민했다.

input을 받게 되면 기본적으로 문자형으로 받아진다.

그렇다면 필요한 처리 과정은 int형 변화와 공백으로 나누기..

map을 이용하여 만들었다.

A,B = map(int,input("정수 2개를 입력하시오").split())

두 값이 잘 처리 되었는지 확인해보자

print(A,B)

결과는 잘나왔다. 

A,B 값을 받고 처리하는것은 끝났다.

이제 이를 가지고 비교하는것을 해보자

if A>B:
    print(">")
elif A<B:
    print("<")
else:
    print("==")

아래 else 대신 elif A=B: 이렇게 해도되지만 더는 나올수 있는 경우의 수가 없기때문에 그냥 else로 처리하였다.

이로써 첫 백준 문제 성공!

 

인줄알고 제출했는데 틀렸다....

input 안 문자열 출력으로인해 데이터 초과를 한것같다....

A,B = map(int,input().split())

if A>B:
    print(">")
elif A<B:
    print("<")
else:
    print("==")

최종 답안이다...

까다롭구만....

저는 전문가가 아닙니다.

따라서 제 정보가 틀린 부분이 있다면 피드백 주시며

사진/영상은 정말 취향차이입니다. 정답은 없습니다.

자신만의 색을 갖어 보시고 이런저런 스타일 많이 접해보셨으면 좋겠습니다.

[1] 스마트폰 기본 카메라 세팅법

들어가기에 앞서 해당 세팅법은 아이폰 기준이며

안드로이드와 비슷하오니 잘 찾아보시기 바랍니다.

1. 설정 - 카메라

여기서 만질 메뉴는

포맷, 비디오 녹화, 슬로 모션 녹화, 격자이다.

포맷

고효율성 과 높은 호환성 중에는 높은 호환성으로 해줘야한다.

압축률은 고효율성>높은 호환성 이다.

압축률이 높을수록 나중에 보정할때 다룰 수 있는 데이터의 양이 줄어 섬세한 작업이 불가능하다. 따라서 높은 호환성으로 해줘야한다.

 

Apple ProRAW

이건 사진을 압축하지 않고 원본 날것을 의미한다.

용량은 크지만 나중에 보정 작업할때 섬세한 작업이 가능하기에 꼭 필요할때만 켜서 사용하도록 하자.

※ 이걸 켜두면 카메라 앱에서 원클릭으로 껏다 킬수 있다.

 

Apple ProRes

아래 설명에 나와있는 용량을 보라

이건 끄도록하자

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

비디오 녹화

우선 720, 1080, 4K 많이 들어봤을것이다.

개인의 선택이지만 아직까진 FHD가 대중적이니 1080을 선택하였다. 4K부턴 용량이 너무 부담된다고 생각한다.

그렇다면 FPS는 무엇인가,

쉽게 말하면 1초에 몇장을 보여주냐 인데,

어렸을때 책 여럿 페이지에 그림 그리고 스르륵 넘겨봤을것이다.

많은 페이지에 그려서 넘기면 부드럽게 움직이고

보다 적은 페이지에 그리면 끊기는 느낌을 받아봤을 알것이다.

기본적으로는 30fps가 대중적이오나

개인적으로 60fps의 부드러움을 좋아하니 60으로 했다.
물론 용량은 더 크다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

슬로 모션 녹화

이전 비디오 녹화와 비슷하다.

fps만 다른데 이는 앞서 설명드린거와 같이
1초에 n장을 표현한다...
옛날 스펀지 프로그램 보면 무슨 실험 할때마다

슬로모션효과를 보여줬었다.
이게 같은 1초에 120장, 240장씩 촬영하니 그 짧은 순간순간의 그림을 저장하고 표현할 수 있는 것이다.

해당 기능은 비오는날 빗방울 찍어보면 이해가 쉽게 갈것이다.
안쓸꺼면 패스하자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

격자

이 기능을 키면 사진과 같이 카메라 앱 실행시 3대3 격자선이 생긴다.

사진 찍을때 수직 수평 맞추기 어려운 사람들은 항상 키도록 하자.

또 아래 메뉴(시네마틱 비디오 사진 인물사진 파노라마)
있는 부분을 위로 슬라이드 해주면 세부 메뉴가 뜨는데

왼쪽부터 야간모드, 라이브포토, 사진 스타일, 비율,  노출, 타이머, 색, RAW인데
이중 제일 중요한 비율만 알아보자.

인스타 좋아하시는 분보면 항상 촬영을 1대1로 한다.

제발 이건 아니라고 생각한다.

1대1, 16대9는 4대3 비율에서 사진을 짤라서 쓰기때문에

4대3으로 촬영하여 원하는 비율로 수정하도록 하자

잘 모르겠으면 비율을 눌러보면서 카메라 화각을 살펴보라

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

다른거 다 필요없고 제일 중요한 2가지만 세팅하면된다.

1. 격자

2. 4대3 비율

 

요리를 잘하려면 다양한 요리를 접해보고 맛보듯이 사진도 이런 저런 사진을 접해야한다.

인터넷 및 SNS에서 다양한 색의 사진을 접하고 눈에 익혀라

어느 때가 되면 사진을 찍을때 저절로 이쁜 구도를 잡는 순간이 올 것이다.

 

'사진&영상' 카테고리의 다른 글

[Foto] 5...부산  (0) 2022.11.09
[Foto] 4...영종도  (0) 2022.10.29
[Foto] 3...명동, 남산  (0) 2022.10.27
[Foto] 2...행궁동 어느길  (0) 2022.10.26
[Foto] 1...망원동 어느길  (0) 2022.10.25

사실 html은 이전 직장에서 홈페이지 유지보수 관련 하여 한달정도 맡아 진행했다.

학부생때도 제일 좋아했던 프로그램 언어이기 때문에 강의듣는 동안 큰어려움 없이 스무스하게 넘어갔다.

아직은 초반 이라 그런 부분이 있겠지만 그래도 자신있다.

 

이번 강의에선 html의 기본 구조와 기초 테그 및 CSS에 대해 다뤘다.

따로 복습하려고 글로 정리하고싶지만 사실상 너무 기초적인것이라 생각해 따로 정리하진 않으려고한다.

 

추가로 사용해보지 못했던 Bootstrap을 배웠다.
html 디자인 템플릿은 요즘 워낙 인터넷에 오픈소스가 많아 응용하면 좋을 것 같다.
점점 이 언어는 코딩을 처음 시작하려는 분들에게 다루기 쉬운 언어가 되가는 것 같다.

https://getbootstrap.com/

 

또 구글 웹폰트를 처음 이용해봤는데 너무 간편했다.

상업적으로 사용이 가능한지는 모르겠지만 한글지워되는 폰트가 다양하게 있다.

https://fonts.google.com/

 

이번 강의를 들으며 느낀게 이전에는 html이 제일 재밌었는데 이젠 별로 재미가 없다..
왜그런진 모르겠지만 워밍업 정도로 배우며 탄력 붙기시작하면 자바스크립트, 파이썬에 몰두 하려고한다.

 

[1]  변수

let? var?
이전 자바스크립트를 공부할때는 var로 변수 선언을 했지만 요즘 보니 let을 쓰는거 같다.
var = 구식, let = 신식으로 생각 하면 될꺼같다.
변수 선언은 데이터를 담을 박스를 선언하는것과 같다.

박스에 숫자를 넣든 문자를 넣든 데이터를 넣는데는 변수 선언이 필요하다.
간단한 예시를 통해 알아보자.

let num = 1004 // num이라는 변수를 선언함과 동시에 숫자 1004를 집어넣는다.

여기서 num은 변수 이름이다.

=(등호) 기준으로 오른쪽의 데이터를 왼쪽 변수에 넣는다. 라고 이해하면 된다.

 

문자도 넣어보자

let text = 'apple'

text란 변수에 apple이란 글자 데이터를 넣었다.

 

각 변수들을 출력해보자

let num = 1004
let text = 'apple'
console.log(num)
console.log(text)

아래처럼 출력되는것을 확인할 수 있다.

1004
apple

좀더 만들어보자

let num = 1004
let num2 = 1004
let text = 'apple'
let text2 = 'love'

숫자끼리 글자끼리 각각 더하면 어떻게 될까

let num = 1004
let num2 = 1004
let text = 'apple'
let text2 = 'love'
console.log(num+num2)
console.log(text+text2)

아래와 같다.

2008
applelove

그렇다면 숫자 + 문자는?

let num = 1004
let num2 = 1004
let text = 'apple'
let text2 = 'love'
console.log(num+text)
console.log(num2+text2)
1004apple
1004love

이처럼 숫자가 글자로 자동 변환되어 출력된다.

 

[2] 리스트(배열)

간단한 예시를 보자

let list = []

리스트는 [ ] 로 선언한다.
리스트에 데이터를 넣어보자

let list = [1,2,3,4,'apple']

리스트에 데이터를 추가해보자

let list = [1,2,3,4,'apple']
list.push('love')

출력값은

[1, 2, 3, 4, 'apple', 'love']

각 자리의 순번은

0: 1
1: 2
2: 3
3: 4
4: "apple"
5: "love"

원하는 자리 1과 2사이에 'black'이라는 글자를 넣어보자
1번 자리에 추가하면 된다.

let list = [1,2,3,4,'apple']
list.splice(1,0,'black') 1번 자리에 넣기
[1, 'black', 2, 3, 4, 'apple']
0: 1
1: "black"
2: 2
3: 3
4: 4
5: "apple"

원하는 자리의 데이터을 바꿔보자

2번 데이터를 black로 바꿔보자

let list = [1,2,3,4,'apple']
list.splice(2,1,'black')
[1, 2, 'black', 4, 'apple']
0: 1
1: 2
2: "black"
3: 4
4: "apple"

 

[3] 딕셔너리(객체)

리스트와 비슷하다.

let dict = {'name':'Bob','age':21}

dict라는 딕셔너리 변수 선언
오른쪽 데이터는 딕셔너리에 들어가는 데이터들이며 'name' 과 'Bob' 그리고 'age' : 21은 각각 매칭되어있다.
매칭된 값을 출력해보자

let dict = {'name':'Bob','age':21}
dict.name
'Bob'

위와 같이 출력된다. 같은 원리로 dict.age 하면 21이 출력된다.
그렇다면 새로운 데이터를 넣어보자

let dict = {'name':'Bob','age':21}
dict['height'] = 188 // heigt 데이터 넣기
{name: 'Bob', age: 21, height: 188}

위와 같이 출력된다.

 

리스트 & 딕셔너리를 같이 써보자

names = [{'name':'bob','age':20},{'name':'carry','age':38}]
0: {name: 'bob', age: 20}
1: {name: 'carry', age: 38}

위와 같이 출력되며 방대한 데이터를 정리하기에는 필연적인 문법인것같다.
나중에 심화로 들어가면 어려워질것같다.

[4]  함수

 함수는 특정 기능을 하는 변수같은 것이다.

function 함수이름(안에 쓰일 변수들) {
   함수 기능
}
함수이름(함수로 보낼 데이터);

숫자 2개를 더해주는 함수를 만들고 이용해보자

function sum(num1, num2) {
	console.log('num1: ', num1, ', num2: ', num2);
	return num1 + num2;
}
let result = sum(10,10)
console.log(result)

result란 변수를 선언하였고 여기엔 sum(10,10)을 넣는다.
sum(10,10)은 sum이란 함수에 10,10데이터를 넣고
데이터를 리턴받는다.

함수를 살펴보면 받은 2개의 데이터를 각각 num1, num2로 선언하고
두개를 각각 출력한뒤 더한값을 return 해준다. 

'코딩 > 기타' 카테고리의 다른 글

[HTML] 1. html 기본 구조에 대해...  (1) 2022.08.30
[Start] Day-1 첫 시작...  (1) 2022.08.29

거의 2년 반만에 코딩을 다시 접하게 되었다...
학부생 수준의 전공지식을 가지고 있었지만 막상 공부를 준비해보니
비전공자 수준인 것 같아 걱정이 많이 된다...
비전공자 보단 습득은 빠르겠지만 막막하다..

주위에 개발자 지인도 많고 시간을 자유롭게 사용할 수 있게 온라인 교육을 택했고
국비지원이 가능한 강의를 택했다.

 

해당 온라인 강의 사이트에서 2가지를 신청 히였으며
1. 앱 개발(자바스크립트, 리액트 네이티브, Expo, 파이어 베이스)
2. 웹 개발(HTML, CSS, 자바스크립트, jQuery,  Ajax,  API, Python, 크롤링, mongoDB, AWS)
이렇게 2가지 이다.

강의 수준은 비전공자에게 맞춤된 듯한 수준이다.
기초를 알려주지만 응용하는 심화단계는 알려주지 않은듯하다...
언어의 문법이 중요한 만큼 개인 시간을 좀 더 투자하는것이 좋아 보인다.


별도로 파이썬도 공부하려고 한다.
파이썬은 유튜브 강의와 서적을 가지고 학습할 예정이다.

버텨보자....


+ Recent posts