AttackOnNunu

Once more into the fray


  • 홈

  • About

  • 태그

  • 카테고리

  • 아카이브

  • 검색

(SW Expert Academy) 리스트, 튜플 - 6296번 6297번 6298번 6299번 6300번

작성일 2019-08-03 In ALGORITHM 🎯 , SW 아카데미 댓글:

19번 - 6296번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

sort()

words = [w for w in input().split(', ')]

words.sort()
for i in words[:-1]:
print("{}, ".format(i), end='')
print(words[-1])

20번 - 6297번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

list 등을 출력할 때, 대괄호 “[]” 를 생략하기 위해서 join() 함수를 사용

in_num = [int(num) for num in input().split(',')]
odd_num = [odd for odd in in_num if odd%2==1]

print(', '.join(str(i) for i in odd_num))

21번 - 6298번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

반 자르기…

given_tuple = (1,2,3,4,5,6,7,8,9,10)
half = int(len(given_tuple)/2)
print(given_tuple[:half])
print(given_tuple[half:])

22번 - 6299번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내
given_list = [5, 6, 77, 45, 22, 12, 24]
print([odd for odd in given_list if odd%2==1])

23번 - 6300번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

idx는 0부터 시작하기 때문에 idx+1을 해서 짝수를 찾거나, 아님 아래 코드처럼 idx가 홀수인 것이 순서상으로 짝수가 된다

given_list = [12, 24, 35, 70, 88, 120, 155]
print([even for idx, even in enumerate(given_list) if idx%2==1])

(SW Expert Academy) 리스트, 튜플 - 6290번 6292번 6293번 6295번

작성일 2019-08-01 In ALGORITHM 🎯 , SW 아카데미 댓글:

14번 - 6290번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

입력에는 ‘뜨겁다’ 라는 단어가 있는데 dicBase의 단어 범위가 쌍자음을 포함하지 않고 있어서 출력에서 제외된다
(‘다’, ‘띻’) 식으로 범위만 수정해주면 출력값에도 쌍자음 단어들이 포함될 것이다.

dicBase = (('가','깋'), ('나','닣'), ('다','딯'), ('라','맇'), ('마','밓'), ('바','빟'), ('사','싷'),
('아','잏'), ('자','짛'), ('차','칳'), ('카','킿'), ('타','팋'), ('파','핗'), ('하','힣'))

inputWord = ['막', '부모님', '비용', '비행기', '원래', '처리', '최초', '꼴', '좀', '들다', '싶다',
'수출', '계시다', '다', '뒤', '듣다', '함께', '아이', '무척', '보이다', '가지다', '그',
'자르다', '데리다', '마리', '개', '정도', '옳다', '놀이','뜨겁다']

result = [[word for word in inputWord if (word >= base[0]) is (word <= base[1])] for base in dicBase]

print(result)

16번 - 6292번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내
num_list = [int(n) for n in input().split(', ')]
num_tuple = tuple(num_list)
print(num_list)
print(num_tuple)

17번 - 6293번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내
from math import pi

num_list = [int(n)*pi*2 for n in input().split(', ')]
for i in num_list[:-1]:
print("{:0.2f}, ".format(i), end='')
print("{:0.2f}".format(num_list[-1]))

18번 - 6295번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

list comprehension으로 한 줄에 끝내려고 삽질하다가 콤마 ‘,’ 단위로 입력 받는 방법을 잘 모르겠어서 그냥 list에 저장하였다.

num = input().split(', ')
matrix = [[row\*col for col in range(int(num[1]))] for row in range(int(num[0]))]

print(matrix)

(SW Expert Academy) 리스트, 튜플 - 6282번 6286번 6288번 6289번

작성일 2019-08-01 In ALGORITHM 🎯 , SW 아카데미 댓글:

8번 - 6273번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

7번은 6번과 똑같은 내용이라 생략

sample = [1, 3, 11, 15, 23, 28, 37, 52, 85, 100]
even_list = [num for num in sample if num%2==0]

print(even_list)

11번 - 6286번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

살펴볼 부분이 많았음. 리스트 내포는 우선적으로 수행되기 때문에 아래와 같이 하면 범위를 벗어났다고 에러가 남

fibo=[1,1]
temp = [fibo[k-1]+fibo[k-2] for k in range(2,10)]
fibo += temp

print(fibo)
File "**file_name**.py", line , in <module>
File "**file_name**.py", line , in <listcomp>
temp = [fibo[k-1]+fibo[k-2] for k in range(2,10)]
IndexError: list index out of range

굳이 리스트 내포 가능을 사용해서 만들 필요가 있나 싶다…
하지만 황금비율을 활용한 방법은 참고할만 한 것 같다

fibo=[1,1]
[fibo.append(fibo[k-1]+fibo[k-2]) for k in range(2,10)]

print(fibo)

# OR 황금비율 활용

# series = [int((((1 + 5**0.5) / 2)**n - ((1 - 5**0.5) / 2)**n) / 5**0.5) for n in range(1, 11)]


12번 - 6288번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내
ans = [num**2 for num in range(1,21) if num%3!=0 or num%5!=0]

print(ans)

13번 - 6289번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

list 내용을 int형으로 바꿔서 직접 반복문을 통해 합계를 구한 방법-1
입력 받은 그대로(str형)에서 ‘+’ 기호를 붙여 eval() 함수를 사용해 합계를 구한 방법-2(덤으로 함수로 만들었음)

num = []
[num.append(int(x)) for x in list(input())]
sum = 0
for i in num:
sum += i
print(sum)
def eval_sum():
num = []
[num.append(x) for x in list(input())]
exp=''
for i in num:
exp += i + '+'
return exp[:-1]

print(eval(eval_sum()))
1…212223…33
NUNU

NUNU

개인적으로 공부하면서 정리한 내용들을 블로그에 남기고 있습니다.
99 포스트
18 카테고리
53 태그
RSS
Creative Commons
© 2021 NUNU
Powered by Hexo v3.9.0
|
Theme – NexT.Mist v7.2.0