반응형

파이썬에는 Slicing 이라는 문법이 있습니다.

이는 파이썬의 매우 큰 장점이라고 생각합니다. 이유는 코드의 가독성을 높여주고, 변수 선언을 줄일 수 있기 때문입니다.

 

※ For문 사용하기

# 2 ~ 4번째 원소만 저장하기
a = [1, 2, 3, 4, 5]
b = []
for i in range(1, 4):
	b.append(a[i]

Slicing 사용하기

a = [1, 2, 3, 4, 5]
a = a[1:4]

이처럼 변수를 새로 선언하여 메모리를 낭비 안할 수 있고, 코드를 많이 줄일 수 있습니다. 

 

 

반응형
반응형

1098 : [기초-2차원배열] 설탕과자 뽑기

https://codeup.kr/problem.php?id=1098

 

# -*- Encoding:UTF-8 -*- #

'''
input()
1) 바둑판 x,y
2) 막대 개수
3) 길이 방향 좌표

첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고,
두 번째 줄에 놓을 수 있는 막대의 개수(n)
세 번째 줄부터 각 막대의 길이(l), 방향(d), 좌표(x, y)가 입력된다.
방향(d) 가로:0 세로1

'''

# 바둑판 input()
scan = input().split()
xy = list(map(int, scan))

# 바둑판 초기화
board = [
    [0 for cols in range(xy[1])]
    for width in range(xy[0])
]

# 막대개수
repeat = int(input())

# 막대놓기
for i in range(repeat):
    scan = input().split()
    stick = list(map(int, scan))

    # 가로 놓기
    if stick[1] == 0:
        for j in range(stick[0]):
            x = stick[2] - 1
            y = stick[3] - 1
            board[x][y+j] = 1

    # 세로 놓기
    if stick[1] == 1:
        for j in range(stick[0]):
            x = stick[2] - 1
            y = stick[3] - 1
            board[x + j][y] = 1

# 바둑판 출력
for i in range(xy[0]):
    for j in range(xy[1]):
        print(board[i][j], end=' ')
    print()

 

반응형
반응형

1090 : [기초-종합] 수 나열하기2

# -*- Encoding:UTF-8 -*- #

a = input().split()
num = list(map(int, a))
result = num[0]
# result = num[0] * num[1]
for i in range(0, num[2]-1):
    result = result * num[1]
print(result)
반응형
반응형

1079 : [기초-종합] 원하는 문자가 입력될 때까지 반복 출력하기

# -*- Encoding:UTF-8 -*- #

a = input().split()
alphabet = list(a)
i = 0
while alphabet[i] != 'q':
    print(alphabet[i])
    i += 1
print(alphabet[i])

 

반응형

+ Recent posts