cording test 46

LV.0 가위바위보

코딩테스트 연습 - 가위 바위 보 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번에 풀어볼 내용은 가위바위보이다. 무조건 이길 방법이 필요한데, 어떻게 하면 좋을까? 1. if 문으로 해결 가장 간단하게 푸는 법인데, for 문에 조건문 식을 넣는 전형적이고 기초적인 답변 def solution(rsp): answer = '' for i in rsp: if i == "2": answer += '0' elif i == "0": answer += '5' elif i == "5": answer += ..

cording test 2023.04.07

LV.0 로그인 성공

코딩테스트 연습 - 로그인 성공? | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 가정문 login, wrong pw, fail의 세 가지로 나뉘기 때문에 가장 쉬운 방법이 됨 def solution(id_pw, db): for i in db: if id_pw[0] in i: if id_pw[1] == i[1]: return "login" elif id_pw[1] != i[1]: return "wrong pw" else: return "fail" #id_pw가 db 안에 있을 때 "login"이..

cording test 2023.04.05

LV.0 숫자 찾기(enumerate, find 함수를 통한 해결)

코딩테스트 연습 - 숫자 찾기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요즘 프로젝트 시간을 제외하고는 알고리즘에 빠진 것 같다. 문제가 참 어렵지만 그래도 맞출 때 희열이 꽤나 좋다. 이번 문제는 좀 헤맸다. 처음에 접근을 ANSWER부터 추리하도록 해봤는데, K가 n번째 숫자와 겹칠 때, 그 숫자는 10**(n+1)이기 때문에 로그를 이용해서 풀 수 있지 않을까라고 생각했다. 그런데 그러면 num을 어떻게 풀어야 할지가 생각나지 않았다. 무작정 num = a*10 + b*10**2 + c*..

cording test 2023.03.31

LV.0 배열의 유사도

S1에 있는 요소가 S2에도 존재하는가? 생각한 방법은 두 가지다. 1. S1에서 요소를 빼와서 S2에 대입 2. S1요소와 S2요소의 교집합 1. S1에서 요소를 빼와서 S2에 대입 - for 문으로 끝까지 돌려서 나오는 것들의 개수만 더하면 됨. def solution(s1, s2): answer = 0 for a in s1: if a in s2: answer += 1 return answer 2. S1 요소와 S2요소의 교집합 - set 함수를 이용하면 됨. - 교집합으로 남은 문자들의 길이를 return 값으로 잡으면 매우 간단한 코드 완성 def solution(s1, s2): return len(set(s1)&set(s2))

cording test 2023.03.30

LV.0 : ["최빈값 구하기"]

입출력의 예시처럼 나오는 방법이 정말 다양하게 있는데, 그것을 어떻게 처리하면 좋을지 고민했다. 때마침, 수업시간에 배운 함수들 중 set 함수가 생각이 났지만 어떻게 이용하면 좋을까? 그 방법은 개수가 적은 숫자들을 제거하는 것이다. 하나씩 제거해나가면 결국에는 최빈값만 남을 것이라고 나름의 역발상을 해보았다. 아래의 주석에 설명글을 써놓았기 때문에 주석을 참고하면서 보시면 이해가 빠를 것이다. def solution(array): # 시작할 때 array는 0이 될 수 없음을 이용 while len(array) != 0: # set를 이용함 for i, a in enumerate(set(array)): # 배열에 있는 a들을 하나씩 소거 # [1, 1, 2, 3, 3, 3, 4] >> [1, 3, 3..

cording test 2023.03.29

LV.0 : ["세균 증식"], ["OX 퀴즈"]

첫 프로그래머스 테스트로, 아직 실전이 무서운 햇병아리기에.. 레벨 0 중 가장 정답률이 높은 문제를 가져와 보았다. 그렇게 가져온 것이 바로 세균 증식 문제! 그냥 봤을 땐 입출력 예가 이해가 안 됐지만, 역시 꼼꼼히 봐야 된다고.. 다행히 금방 이해는 됐다. n이 10을, 또는 t가 15를 넘었을 때 멈추게끔 if 조건문을 뼈대로 형성해야겠다는 생각이 들었다. 그런데 코드를 너무 근본없이 썼다 n, t, result 값이 모두 나와야 하는데 n과 t가 같이 더해져서 나온다는 점. 그리고 수열 배치가 제대로 되지 않는다는 점... 등등 상당히 많은 문제가 나왔다. 이론을 완벽히 거스르는 코드인 점을 확인했으니 다 지워버리고 처음부터 다시 했다. 그렇다면 어떻게 하면 좋을까? 다시 생각해보니 n, t값이..

cording test 2023.03.22