728x90
반응형

2023/12 9

[programmers]python 120854 배열의 원소길이

# 배열 원소의 길이 # strlist가 매개변수로 주어진다. # 배열속 문자열의 크기를 배열로 return # 난이도가 생각보다 쉬우니.. 더 간편하게 짜볼까? # list와 map으로 묶으면 라인으로 끝낸다 def solution(strlist): answer = [] for i in strlist: answer.append(len(i)) return answer def sol(strlist): return list(map(len,strlist)) print(sol(["We", "are", "the", "world!"]))

Algorithm/Python 2023.12.21

[programmers]python 181832 정수 나선형으로 배치하기

# 나선형으로 배치하기 # n 이 주어지면 n x n 배열을 만듬 근데 # 나선형으로 배치하는??? 어떻게 하는겨... # 이번적인 배열은 완성... 그런데 나선형? # 아니면 2차원 배열에 하나씩 넣어보자 # 일단 배열을 초기화 해주고 # 순서에 때려박어 def solution(n): if n ==1 : return [[1]] # 배열 초기화 answer=[[0 for j in range(n)]for i in range(n)] x=0 # x/y 값을 초기화 해서 하나씩 집어넣자 y=0 case = 6 # 키패드 방향키 순 4862 for i in range(n*n): answer[x][y]= i+1 # 일단 옆으로 한줄 if case == 6: y +=1 if y == n-1 or answer[x][y..

Algorithm/Python 2023.12.19

[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
728x90
반응형