[ SWEA ] D3 - 1217, 1230, 3431, 4406 - python 문제풀이
1217 거듭제곱 def mul(num,k): global n,cnt num *= n if k == cnt: return num return mul(num,k+1) for tc in range(10): N = int(input()) n,cnt = map(int, input().split()) print("#{} {}".format(N,mul(1,1))) 또 다른 방식 def mul(n,m): if m == 1: return n return mul(n,m-1)*n for tc in range(10): a = int(input()) b,c = map(int, input().split()) print('#{} {}'.format(a,mul(b,c))) 1230 암호문3 오래 걸리지만, 문제를 잘 이해하고 차근..
2021. 6. 29.
[ SWEA ] D2 - 1954, 1948, 1946, 1945 - python 문제풀이
1954 달팽이 숫자 달팽이처럼 돌기 위해서는 오른쪽, 아래, 왼쪽, 위쪽 방향을 반복적으로 돌아가면서 이동해 들어가고, 그 빈도는 위 그림에서 볼 수 있듯이 각 n번에서 1번 순서대로, 처음을 제외하면 각각 2번씩 반복적이라는 규칙을 찾을 수 있다. for tc in range(int(input())): N = int(input()) snail = [[0]*N for _ in range(N)] number = 1 jump_cnt = N direction = 'right' # 'right','down','left','up'순으로 바뀔 것 row_idx,col_idx = 0,0 while number
2021. 6. 27.
[ SWEA ] D2 - 1970, 1966, 1961, 1959 - python 문제풀이
1970 쉬운 거스름돈 지불할 수 있는 돈의 종류(option)들을 순회하면서, 최대한 낼 수 있는 개수만큼 쓰고 다음 단위(더 작은 지불 단위 옵션)으로 넘어가게 해서 풀 수 있음 options = [50000,10000,5000,1000,500,100,50,10] for tc in range(int(input())): N = int(input()) cnt = [0]*8 for i in range(8): if N != 0: cnt[i] += N//options[i] N %= options[i] else: break print("#{}\n{}".format(tc+1, " ".join(map(str,cnt)))) 1966 숫자를 정렬하자 방법 1 - sort 함수 사용 방법 2 - 개수를 세어나갈 카운트 ..
2021. 6. 26.
[ SQL 고득점 kit ] String, Date - mysql
01 루시와 엘라 찾기 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty'); 02 이름에 el이 들어가는 동물 찾기 mysql의 대소문자 구분여부 컬럼, 테이블명 : 대소문자 구분O VARCHAR,TEXT같은 데이터 : 대소문자 구분X 따라서 이 문제의 경우 대소문자 지정을 따로 해주지 않아도 풀리기는 한다(아래처럼) SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE ANIMAL_TYPE = 'Dog' AND NAME LIKE '%el%' ORDER BY NAME; 만약 mysql을 쓰지 않을때는 low..
2021. 6. 26.