Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코테
- cos pro
- 코드품앗이
- Algorithm
- DART
- cos
- 동적계획법
- 알고리즘
- 분할정복
- 파이썬
- DFS와BFS
- BAEKJOON
- 백준
- vuejs
- C++
- android
- Flutter
- 동적계획법과최단거리역추적
- 코딩테스트
- 안드로이드스튜디오
- 개발
- django
- Vue
- 안드로이드
- Python
- issue
- codingtest
- DFS
- AndroidStudio
- cos pro 1급
Archives
- Today
- Total
Development Artist
[COS Pro 1급, Python] 3차 1번 : 배열을 회전시켜보세요 본문
728x90
반응형
문제 유형
빈칸
난이도
easy
Note
1. func_b 체크. 2개의 배열이 rotate하는지 안하는지 확인하는 함수. first 배열의 요소들은 더하고 second 요소들은 빼줘서 각 인덱스 값이 0이면 rotate 한다.
Code
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
# 3차 1번
def func_a(arr):
ret = arr + arr
return ret
def func_b(first, second):
MAX_NUMBER = 1001
counter = [0 for _ in range(MAX_NUMBER)]
for f, s in zip(first, second):
counter[f] += 1
counter[s] -= 1
for c in counter:
if c != 0:
return False
return True
def func_c(first, second):
length = len(second)
for i in range(length):
if first[i : i + length] == second:
return True
return False
def solution(arrA, arrB):
if len(arrA) != len(arrB):
return False
if func_b(arrA, arrB):
arrA_temp = func_a(arrA)
if func_c(arrA_temp, arrB):
return True
return False
arrA1 = [1, 2, 3, 4]
arrB1 = [3, 4, 1, 2]
ret1 = solution(arrA1, arrB1)
print("solution 함수의 반환 값은", ret1, "입니다.")
arrA2 = [1, 2, 3, 4]
arrB2 = [1, 4, 2, 3]
ret2 = solution(arrA2, arrB2)
print("solution 함수의 반환 값은", ret2, "입니다.")
※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.
728x90
반응형
'Algorithm > COS' 카테고리의 다른 글
[COS Pro 1급, Python] 3차 3번 : 비숍으로부터 도망쳐 (0) | 2022.02.25 |
---|---|
[COS Pro 1급, Python] 3차 2번 : 팰린드롬 문제 (0) | 2022.02.25 |
[COS Pro 1급, Python] 2차 10번 : 0들을 0으로 만들기 (0) | 2022.02.25 |
[COS Pro 1급, Python] 2차 9번 : 비밀번호 검사 (0) | 2022.02.25 |
[COS Pro 1급, Python] 2차 8번 : 규칙에 맞는 배열 구하기 (0) | 2022.02.25 |
Comments