728x90
반응형

Algorithm/Python 80

[programmers]python 92334 신고결과받기

# 신고결과 받기(92334) # 문제가 참 길다... # 각 유저는 한번에 한명의 유저를 신고 가능 # 한 유저를 여러 번 신고 할수 있지만 동일 유저에 대한 신고는 1회로 처리 # k 번 이상 신고된 유저는 이용 정지 이후 신고한 모든 유저에게 메일 발송 # return 값은 id_list의 담긴 id 순서대로 받은 메일 수를 담아 리턴 # report의 누가 누굴 신고했는지 나눠야한다. # 이거를 어떻게 처리하지? # 반복문으로 배열을 하나씩 출력해서 문자열로 나오면 배열로 나눠보자 # k 번 이상 신고 먹으면 신고한 사람한테 메일 가기 # set은 list의 중복을 제거한 집합을 만듬 def solution(id_list, report, k): cnt={x:0 for x in id_list} # ..

Algorithm/Python 2023.12.16

[programmers]python 181930 주사위게임 2

# 주사위게임 2 # 1 - 6 까지 주사위가 세걔 # 각 a,b,c일 때 모두 다르면 a+b+c # 두개만 같다면 (a+b+c)*(a^2+b^2+c^2) # 모두 같다면(a+b+c)*(a^2+b^2+c^2)*(a^3+b^3+c^3) # 제곱은 a**2 세제곱은 a**3으로 표현 가능하다는걸 깨달았다. def solution(a, b, c): sum=(a+b+c) sum2=(a*a)+(b*b)+(c*c) sum3=(a*a*a)+(b*b*b)+(c*c*c) if a==b==c: return int(sum*sum2*sum3) elif (a!=b and b==c or a==c) or (a!=c and b==c or a==b) or (b !=c and b==a or c==a): return int(sum*sum..

Algorithm/Python 2023.12.15

[programmers]python 120956 옹알이(1)

# 옹알이(1) # 머쓱이 태어난지 6개월된 조카 돌보는중 # 애기는 힙해서 "aya" "ye" "woo" "ma" 4가지 발음가능 # babbling이 변수로 주어질때 발을할수있는 단어개수 return # 배열을 반복해 in 함수로 찾아볼까했는데 계속 예상 결과와 다르게 나와 뭐지.. 했는데...a # 문제를 잘못읽었네.... 요지는 한 단어를 다 읽나 못읽나이네... # 그렇다면 어떻게 짜야지? 뭘 어케짜 천천히 짱구를 굴려보자 # 일단 일치시 정답은 완성 # 단어를 합쳐서 만들어봐야지... # word를 공란에두고 한글자씩 받아와서 배열안의 글자와 맞으면 초기화 시키자 # 어차피 단어 전체에 발음이 가능해야하니... # 어렵게 생각하지말고 시작부터 다르면 초기화시켜버리자 def solution(ba..

Algorithm/Python 2023.12.15

[programmers]python 181864 문자열 바꿔서 찾기

# 문자열 바꿔서 찾기 # mystring을 A를 B로 B를 A로 바꾼 문자열중 pat이 있으면 1 아니면 0 # maketrans를 이용해 A->B B->A 를 바꾼 table을 생성 # translate를 이용해 table을 덮어쓰기 # if 문으로 이제 찾아보자 # 포함인지 확인하기 위해 in 함수 사용 def solution(myString, pat): table=myString.maketrans('AB','BA') new_myString=myString.translate(table) return 1 if pat in new_myString else 0 print(solution("ABBAA","AABB"))

Algorithm/Python 2023.12.11

[programmes]python 181853 뒤에서5등까지

# 뒤에서 5등까지 # 정수 배열이 주어지는데 가장 작은 수 5개를 오름차순으로 담은 리스트 출력 # num_list를 정렬 후 뒤집고 pop해서 append하자 # 다른 분 정답을 봤는데 그냥 sorted(num_list)[:5] 로 정렬하고 바로 뒤부터 출력하면되네 # Good def solution(num_list): answer = [] num_list.sort() num_list.reverse() for i in range(5): answer.append(num_list.pop()) return answer print(solution([12, 4, 15, 46, 38, 1, 14]))

Algorithm/Python 2023.12.11

[programmers]python 250137 붕대감기 PCCP 1번 기출

# 붕대감기 PCCP 1번 기출 # t초동안 붕대감고 1초마다 x 만큼 체력회복 # t초 연속 붕대감기 성공하면 y 만큼 추가체력회복 # 최대 체력보다 커지는 것은 불가능 공격 당하면 성공 초기화 # bandage 는 시전시간,초당 회복량,추가회복량 # health 는 최대 체력 # attacks는 몬스터 공격시간과 피해량 # 입출력에 맞춰 코드를 짜보자 # 일단 반복문을 짤꺼야 그런데 몬스터의 마지막 공격을 구해서 반복하자 # pop 함수를 사용해 마지막 index를 추출 time 을 구했다 # 현재 체력 에서 연속성공과 공격맞아서 초기화 # 배열의 배열값을 꺼내야한다.. # pop 함수를 사용하니... 배열값이 사라진다... # 배열 slice 사용 [-1]로 max값 꺼내온다. # 체력이 0밑으로 ..

Algorithm/Python 2023.12.09

[programmers]python 181934 조건문자열

# 조건 문자열 # 문자열에 따라 두 수의 크기를 비교 # ineq / eq 가 주어지고 # ineq 는 둘 중 하나 # eq 는 = ! 둘중 하나 # 두 정수 n / m 이 주어질 때 ineq / eq의 조건에 맞으면 1 아니면 0 return # f 스트링으로 한번 전개해보자 # f 스트링으로 한번에 나열한건 좋았는데 계산이 되나? # 구글링을 해보니 eval 을 사용하면 f스트링 값이 계산이된다. # 비교연산자로 true/false로 나오니 1 0 으로 변경해주자 # if 문과 int 두 방법이 있다 def solution(ineq, eq, n, m): print(f"{n}{ineq}{eq}{m}") if eq == "!": result = eval(f"{n}{ineq}{m}") elif e..

Algorithm/Python 2023.12.07

[programmers]python 250128 pcce6번 가채점

# pcce 기출6번 가채점 # 한줄만 바꿔서 문제 해결하기 def solution(numbers, our_score, score_list): answer = [] for i in range(len(numbers)): print (i," iiiiiiii") print(numbers[i],"nn") print(our_score[i],"ourrrr") print(score_list[i],"listttt") # if numbers[our_score[i]]=score_list[i]: # 변경 if our_score[i] == score_list[numbers[i]-1]: answer.append("Same") else: answer.append("Different") return answer print(solu..

Algorithm/Python 2023.11.30

[programmers]python 181935 홀짝에 따라 다른 값 반환하기

# 홀짝에 따라 다른 값 반환하기 # 양의 정수 n 이 변수로 주어질 때 # 홀수이면 n 이하의 홀수의 합을 리턴 # 짝수이면 n 이하의 짝수의 제곱의 합을 리턴 # 반복문을 돌려 n 이하의 수를 구하고 # 조건문을 이용해 i가 짝수인지 홀수인지 확인 # 더해주고 제곱을 더해줬더니 홀수값 짝수값이 섞임 # 조건 추가 n 도 짝수인지 홀수인지 추가 def solution(n): answer = 0 for i in range(n+1): if n%2==1 and i%2==1 : answer+=i elif n%2==0 and i %2==0: answer+= (i*i) return answer print(solution(10)) print(solution(7))

Algorithm/Python 2023.11.30

[programmers] python 120835 진료순서 정하기

# 진료순서 정하기 # 응급도에 따른 순서 구하기? # 배열의 크기를 순번으로 바꿔주기 # cnt를 두고 그거를 늘리면 되는거 아닌가? # 생각해보니까 정렬이 좀더 좋은거 같다... # 일단 배열을 순차 정렬해보자 # 정렬 후 배열을 반복해 index의 위치를 찾기 # 순차 정렬을 진행해서 그런지 낮은순으로 나옴 # reverse()를 사용해 역순으로 def solution(emergency): ans =[] for i in emergency: cnt=1 for j in emergency: if i

Algorithm/Python 2023.11.30
728x90
반응형