Algorithm/Basic

Algorithm/Basic

[Python] Day 3 -- list comprehension, zip(), max()

- 파이썬에서 String 은 마치 배열처럼 반복 가능하다.String -> Array -> for 문 같이 중간에 변환 과정을 거치지 않고바로 String -> for 문을 할 수 있다는 거다.즉, String = "abc" 를 ["a", "b", "c"] 처럼 쓸 수 있다는 거다.허. 참내.. 익숙해지지 않네.. - 그리고 파이썬에서는 for 문이나 if 문을 한 줄로 쓸 수 있다. (list comprehension)for i in range(len(str1)): answer += str1[i] + str2[i] answer = ''.join([str1[i] + str2[i] for i in range(len(str1))]) 익숙해지지가 않네~~ - 그리고 zip() 함수를 쓰면 forE..

Algorithm/Basic

[Python] Day 2 -- 배열 출력, *, 3항연산, 문자열 자르기

'''6) 덧셈식 출력하기7) 문자열 붙여서 출력하기8) 문자열 돌리기9) 홀짝 구분하기10) 문자열 겹쳐쓰기'''# 6)a, b = map(int, input("4 5 -- ").strip().split(' '))print(f"{a} + {b} = {a + b}")# 7)str1, str2 = input("a b -- ").strip().split(' ')print(str1 + str2)'''print(input().strip().replace(' ', ''))'''# 8)s_list = list(input("abced -- "))print(*s_list, sep='\n')'''s_list = [*input()]print('\n'.join(input()))for a in input(): print..

Algorithm/Basic

[Python] Day 1 -- 대소문자, 특수문자

Day 1 - 문자열 반복 출력 -- 문자열을 반복 횟수만큼 곱해서 출력하면 간단- 대소문자 자동 변환 -- swapcase()- 특수문자 출력 -- 문자열 앞에 r 붙이기 '''1) 문자열 출력하기2) a와 b 출력하기3) 문자열 반복해서 출력하기4) 대소문자 바꿔서 출력하기5) 특수문자 출력하기'''# 1) 문자열 출력하기str = input("HelloWorld! -- ")print(str)# 2) a와 b 출력하기a, b = map(int, input("4 5 -- ").split())print("a =", a)print("b =", b)'''a, b = map(int, input().strip().split(' '))print(f"a = {a}\nb = {b}")'''# 3) 문자열 반복해서 출..

Algorithm/Basic

[Python] 6098 성실한 개미

# 6098 -- 성실한 개미 미로찾기# 0(갈 수 있는 곳), 1(벽 또는 장애물), 2(먹이)# 오른쪽으로 움직이다가 벽을 만나면 아래쪽으로 움직여 가장 빠른 길로 움직# 단, 맨 아래의 가장 오른쪽에 도착한 경우, 더 이상 움직일 수 없는 경우, 먹이를 찾은 경우에는# 더이상 이동하지 않고 그 곳에 머무른다.# 개미는 (2, 2)에서 출발# 10*10 크기의 미로 상자의 구조와 먹이의 위치가 입력된다.# 개미가 이동한 경로를 9로 표시해 출력miro = [list(map(int, input().split())) for _ in range(10)]x, y = 1, 1miro[x][y] = 9while True: # 먹이를 찾으면 가만히 있는다. if miro[x][y] == 2: ..

Algorithm/Basic

[Python] 6097 설탕과자 뽑기 (2차원 배열)

# 첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고,# 두 번째 줄에 놓을 수 있는 막대의 개수(n)# 세 번째 줄부터 각 막대의 길이(l), 방향(d), 좌표(x, y)가 입력된다.# 1    아직도 헷갈림...이것때문에 코드 얼개는 빠르게 짰는데 .. ..h 가 보통 세로 아님??????근데, 세로이긴 한데 .. 행의 개수가 되어서..  아.. 몰라..

Algorithm/Basic

[Python] 6096 바둑알 십(+)자 뒤집기

# 바둑알 십(+)자 뒤집기# 모든 가로줄 반대로 (1->0 / 0->1) ----> 그 다음 모든 세로줄 돌 반대로# 고른 위치를 제외한 가로줄과 세로줄의 색이 모두 반대로 바뀜# 바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력된다.# 십자 뒤집기 횟수(n)가 입력된다.# 십자 뒤집기 좌표가 횟수(n) 만큼 입력된다. 단, n은 10이하의 자연수이다.d = [list(map(int, input().split())) for _ in range(19)]n = int(input())for _ in range(n): x, y = map(int, input().split())# 좌표 (1,1) 은 배열 인덱스로 (0,0) x -= 1 y -= 1 for i in range(..

Algorithm/Basic

[Python] 6092~ 6095 -- 리스트, 역순 슬라이싱, min(), 중첩리스트

# d = [] -- 어떤 데이터 목록(list) 을 순서대로 저장하기 위해 아무것도 없는 리스트 변수 만들기# d.append(값) -- d 리스트의 마지막에 원하는 값을 추가(append)해 넣음# d[a[i]] += 1 -- 2중 리스트 참조 : 만약 a[i]의 값이 1이었다면? d[1] += 1 이 실행되는 것이다. 1번 카운트 1개 증가..# 6092 -- n번 무작위로 불렀을 때, 각 번호(1 ~ 23)가 불린 횟수를 각각 출력n = int(input("10 -- "))l = list(map(int, input("1 3 2 2 5 6 7 4 5 9 -- ").split()))result = []for _ in range(24): result.append(0)for i in range(n)..

Algorithm/Basic

[Python] 6089~ 6091 -- 등비수열, 최소공배수

# 6089 -- 등비수열# 시작 값(a), 등비(r), 몇 번째인지를 나타내는 정수(n)a, r, n = map(int, input("2 3 7 -- ").split())for i in range(n-1): a *= rprint(a)# result = a * (r ** (n - 1))# 6090 -- 1부터 시작해 이전에 만든 수에 -2를 곱한 다음 1을 더해 다음 수를 만든 수열# 시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)a, m, d, n = map(int, input("1 -2 1 8 -- ").split())# 변수 i를 사용하지 않기 때문에 _를 사용하여 반복 횟수만 제어for _ in range(n-1): a = a * m + dprint(a..