def solution(s):
answer = True
if len(s) == 4 or len(s) == 6:
for i in s:
try:
i=int(i) #i가 숫자로 변환할 수 없다라면 에러가 날 거임
except:
return False # 문자열일테니까 바로 리턴 false
else :
return False
return answer
# 해당 방식 말고 isdigit()를 사용하여
#def solution(s):
# return s.isdigit() and (len(s) == 4 or len(s) == 6)
#더 간단하게도 가능하다..
def solution(s):
answer = ''
check_list=[]
for i in s:
check_list.append(ord(i))
check_list.sort(reverse=True)
for j in check_list:
answer+=chr(j)
return answer
#아스키 코드 값은 orb로 해당 문자열의 숫자값을 알 수 있고
# 다시 chr로 해당 숫자값에 대한 문자열을 알 수 있다.
def solution(price, money, count):
answer = -1
hap = 0 # 총 놀이기구에 필요한 돈
for i in range(1 ,count+1): # 더함
hap += price * i
if money > hap :
return 0
else :
answer = hap - money
return answer
def solution(left, right):
answer = 0
c = 0
for i in range(left, right+1):
for j in range(1,i+1): # 약수를 구하는 제일 쉬운 방법은 그냥 걔 전까지 모든 숫자로 나누어보는 것
if i%j == 0: #나누어진다면?
c+=1
else:
continue
if c%2 == 0: #약수가 짝수라면?
answer += i
c = 0
else:
answer -= i
c = 0
return answer
def solution(s):
answer = ''
onaka = len(s)//2
if len(s)%2 == 1: #홀수라면 그냥 중앙값 출력하고
answer += s[onaka]
else :
answer += s[onaka-1:onaka+1] # 짝수면 앞뒤 2개 출력하면 되니까 이렇게
return answer
def solution(a, b): # 내적 문제
answer = 0
for i in range(len(a)):
answer += a[i]*b[i] #각 리스트의 길이는 같으므로 이렇게 해도 됨
return answer
def solution(phone_number):
answer = ''
gil=len(phone_number)-4 #4자리 제외함
for i in range(gil): # 제외한 만큼 *로 채움
answer+='*'
answer+=phone_number[gil:] # 슬라이싱
return answer
def solution(arr):
answer = []
temp=1000000000
if len(arr)==1: # 예외처리
answer.append(-1) # 길이가 1정도되는놈은 그냥 무조건 한개니까 바로 -1 리턴으로 끝내기
return answer
for i in arr: #제일 작은 수 찾기
if i<temp: # 배열중에 temp보다 큰 경우는 없을것이므로
temp=i
else:
continue
for k in arr: #제일 작은수가 아니라면 리스트에 넣어주기
if temp!=k:
answer.append(k)
else:
continue
return answer
꽤 긴기간동안 하드 코딩을 안해서 살짝 뇌풀기로 쉬운문제부터 접근하겠다.
def solution(numbers):
#numbers는 정수 배열이고 길이는 1부터 9까지, 원소는 0부터 9까지 있으나 모든 원소는 중복되지 않음
answer = -1
hap=0
for i in range(10):
hap+=i
#0~9까지 더한 합이 들어 있고
bbagi=0#정수 배열을 모두 더하고 빼고 덧셈과 뺄셈의 순서는 바뀌어도 문제가 없으므로 이렇게 함
for k in numbers:
bbagi+=k
answer=hap-bbagi
return answer
temp는 그냥 주어진 수보다 크게 설정하여 반드시 첫바퀴때는 else 문에 해당되도록하였고
그전 값만 저장하면 연속된 경우의 수는 처리할 수 있기 때문에 가볍게 temp=i는 이런식으로 코딩하였다.
def solution(arr):
answer = []
temp=10000000000
for i in arr:
if i==temp:
temp=i
continue
else:
temp=i
answer.append(i)
return answer
def solution(arr, divisor):
answer = []
c=0
for i in arr:
if i%divisor==0:#정수배열이 divisor로 나누어 떨어진다면?
c+=1 # c는 나누어지는 경우를 합함
answer.append(i)
else:
continue
answer.sort() # 오름차순 정렬
if c==0:# 나누어지는 경우가 한번도 없을경우?
answer.append(-1) #-1을 넣어주고 끝
return answer
'파이썬 공부 > 코딩 테스트 단순 코드' 카테고리의 다른 글
[프로그래머스] 행렬의 덧셈 등 LV 1 여러가지 (1) | 2024.12.06 |
---|