일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 화학물질불법유통온라인감시단
- 정보보안
- 여행
- 웹 해킹 입문
- Service
- UKPT level
- 화학물질안전원
- 국가정보원
- HTML
- nurisec
- Los
- webhacking
- 12기
- 연구모임
- 파이썬
- codeup
- 프로젝트
- 불법유통
- MITRE ATT&CK
- suninatas
- 경기팀
- 화학물질
- 국가기록원
- UKPT
- PHP
- 대외활동
- 불법유통근절
- 도구모음
- 국정원
- 기타정보
- Today
- Total
agencies
Codeup.kr 파이썬 기초 100제 본문
[기초-입출력] 실수 1개 입력받아 변환하여 출력하기(설명)
안녕하세요?
이번 시간에는 파이썬 프로그래밍을 통해 실수 1개를 변환하여 출력하기 문제(6011번)를 풀어보려고 합니다.
이전 문제(하나 입력하고 출력하기)와 동일하게
print(input())으로 코드를 작성했습니다.
하지만 float을 반드시 사용을 해야 한다고 합니다.
따라서 float이라는 글자를 주석처리해서 진행을 했습니다.
(아마도 소스코드 안에 float이라는 글자가 있는지 판별하는 것 같았습니다)
[기초-입출력] 연월일 입력받아 나누어 출력하기(설명)
우선 입력을 받아야 되기 때문에
a=input()을 입력합니다.
출력을 해야 되는데 조건이 있습니다. 한 줄로 출력을 하고, 2글자씩 공백을 두고 출력이 돼야 합니다.
따라서 문자열 리스트로 표현을 하면 됩니다.
a[0:2] 앞에서 두 문자를 자릅니다. (첫 시작 문자, 끝 시작 문자-1)
* 1부터 시작하지 않고 컴퓨터는 0부터 시작하여 셉니다.
따라서 0, 1이 됩니다.
a의 값에 abc가 있을 경우
a[0] 은 a
a[1] 은 b가 됩니다.
a[0:2]인 경우 a와 b가 됩니다.
[기초-출력변환] 10진 정수 입력받아 16진수로 출력하기1(설명)
hex() 함수를 통해 16진수로 표현을 할 수 있습니다.
또한 %x 포맷스트링 형식을 통해 표현할수도 있습니다.
하지만 2번째 테스트 케이스에서 막힘이 발생했습니다.
따라서 코드를 앞의 0x 문자는 제외하도록 다음과 같이 수정했습니다.
[기초-값변환] 16진 정수 입력받아 8진수로 출력하기(설명)
%x는 16진수를 표현한다면, %o는 8진수를 표현합니다.
하지만 hex()함수와 마찬가지로 oct()함수가 존재하며 이는 8진수를 표현하는데 사용됩니다.
정수를 입력받을 때 16진수 형태로 입력을 받기 위해 int(변수, 16) 코드가 추가되었습니다.
[기초-비트시프트연산] 2의 거듭제곱 배로 곱해 출력하기(설명)
이번에는 쉬프트 연산을 유도하고 있는 문제입니다.
하지만 간단하게 곱하기로 문제를 풀 수 있습니다.
여기서 map은 주어진 함수를 순회 가능한 객체의 각 요소에 적용한다는 뜻을 가지고 있습니다.
사용법은 map(함수, iterable)이 되겠습니다.
iterable은 순회 가능한 객체를 의미합니다.
따라서 주어진 코드를 해석하면
변수 a와 b가 있는데 map을 사용해서 모두 int형으로 만들게 됩니다.
map을 사용하지 않는다면 a=int(~) / b=int() 이런식으로 표현을 하게 됩니다.
2의 b승만큼 거듭제곱으로 계산하고 a의 숫자와 곱을 하면 해결할 수 있습니다.
[기초-비교연산] 정수 2개 입력받아 비교하기1(설명)
파이썬에 3항 연산자가 있는지 알아보았으나 없다고 한다.
하지만 if else (조건문)이 있는데 이를 한 줄로 표현할 수 있다고 한다.
사용 방법은 아래와 같다.
<값1> if <조건식> else <값2>
조건식이 참이면 값1 부분이 반환되며
그렇지 않는다면 값2 부분이 반환됩니다.
[기초-종합] 16진수 구구단 출력하기(py)
str 즉 문자열을 결합하기 위해서는 문자와 문자를 사용해야 한다.
숫자와 문자를 함께 표현하기 위해서는 str(숫자) 와 같이 나타났다.
여기서 str(hex(i))[2:].upper() 라는 부분이 나오는데 이것은 숫자 i를 16진수로 변환합니다.
0x숫자 와 같은 형식으로 출력이 되는데 0x 부분을 제외해야 되기 때문에 [2:] 부분이 나오게 된 것입니다.
그리고 대문자로 표기해야 하기에 upper() 함수로 마무리했습니다.
입력받은 문자를 16진수로 변환하기 위해서는 int(변수명, 16)을 입력합니다.
6087 : [기초-종합] 3의 배수는 통과(설명)
간단하게 3의 배수는 출력하지 않는 문제이다.
이번에 새롭게 보인 end="" 부분이 있는데 이것은 줄 바꿈을 하지 않고 출력을 하라는 의미이다.
print() 함수는 출력을 하고 항상 줄 바꿈을 하기 때문에 end=""으로 줄 바꿈이 되지 않도록 합니다.
6095 : [기초-리스트] 바둑판에 흰 돌 놓기(설명)
코드는 위와 같습니다.
2차원 배열을 생성해줍니다.
b=[[0]*20 for i in range(20)]
입력은 1~19까지라고 합니다. 따라서 배열을 20까지로 선언해줍니다.
(0~18까지로 할 수 있겠지만 보다 더 명확하게 하기 위해 0을 제외하는것으로 판단했습니다.)
range(10)은 0부터 9까지 숫자를 생성하는것을 나타냅니다.
for _ in range(10)은 0부터 9까지의 숫자를 반복하면서 코드 블록을 실행합니다.
각 반복문에서 [0]*10은 길이가 10이고 모든 요소가 0으로 초기화된 리스트를 생성합니다.
x,y=map(int,input().split())
b[x][y]=1
위 코드는 사용자가 좌표를 입력하면 해당 좌표에 있는 값을 1로 수정합니다.
6096 : [기초-리스트] 바둑알 십자 뒤집기(py)
a=[[0]*19 for i in range(19)]
for i in range(19):
a[i]=list(map(int,input().split()))
b=int(input())
for i in range(b):
x,y=map(int,input().split())
for j in range(19):
if a[x-1][j]==0:
a[x-1][j]=1
else:
a[x-1][j]=0
if a[j][y-1]==0:
a[j][y-1]=1
else:
a[j][y-1]=0
for i in range(19):
for j in range(19):
print(a[i][j],end=" ")
print()
6098 : [기초-리스트] 성실한 개미(py)
a=[]
for i in range(10):
b=list(map(int,input().split()))
a.append(b)
x,y=1,1
while True:
a[x][y]=9
if a[x][y+1]==0:
y+=1
elif a[x][y+1]==1 and a[x+1][y]==0:
x+=1
else:
if a[x][y+1]==2:
a[x][y+1]=9
break
elif a[x][y+1]==1 and a[x+1][y]==1:
break
else:
a[x+1][y]=9
break
for i in range(10):
for j in range(10):
print(a[i][j],end=" ")
print()
'Ⅰ. 프로그래밍' 카테고리의 다른 글
파이썬 기초 학습 시작 (0) | 2024.03.14 |
---|---|
2020년도에 제작한 프로그램 (백업) 타자연습, 배열 슈팅게임 (0) | 2024.03.12 |
누리캅스 반 자동화 신고 프로그램 (누리서치) 개발 (0) | 2024.03.02 |
happy cat 웹 페이지 만들기 (html) (0) | 2024.02.22 |
파이썬 달팽이 배열 값 입력 (0) | 2024.02.18 |