코딩테스트 연습 - 숫자 문자열과 영단어 | 프로그래머스 스쿨 (programmers.co.kr) 제일 먼저 든 생각은 딕셔너리를 활용해야겠다는 생각..ㅎㅎ... 전에 숫자와 문자열이 섞인 문자열을 숫자로 바꾸라는 거였나 암튼 비슷한 문제 있었는데 그렇게 풀 수 있을 것 같았다 입력값 s를 돌려서 int형으로 바뀌면 숫자니까 그대로 정답에 붙여주고 ValueError 뜨면 문자열이니까 한 단어씩 이어붙여서 딕셔너리 안에 있는 키 값과 일치하게 됐을 때 answer에 그 부분 딕셔너리의 밸류 값을 더해준다 이런 식.. def solution(s): answer, n = "", "" num_en = {"zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five"..
코딩테스트 연습 - 소수 찾기 | 프로그래머스 스쿨 (programmers.co.kr) n을 1부터 n까지 돌리고 그 안에서 또 1부터 n까지 돌려서 num % num2 == 0 이면 count를 올리고 안쪽 for문이 다 돌았을 때 count가 2이면 answer 값을 1 올리면 되겠다 가 제일 먼저 든 생각 그대로 했더니 def solution(n): answer, count = 0, 1 for num in range(1, n+1): for num2 in range(1, n+1): if num % num2 == 0: count += 1 else: pass if count == 2: answer += 1 count = 0 return answer print(solution(10)) # 3 print(s..
코딩테스트 연습 - 안전지대 | 프로그래머스 스쿨 (programmers.co.kr) for문을 두 개 돌려서 0이 나오면 숫자를 올리고 1이 나오면 숫자를 내려야지 했는데 답이 이상하게 나와서 다시 읽어보니 1 주변으로 다 안전지대에서 제외되는 거구나... 좌우면 몰라도 상하 대각선은 어떻게 찾지.. def solution(board): zero, one = 0, 0 for i in board: for j in i: if j == 0: zero += 1 elif j == 1: one += 1 if one > 0: zero = zero - 8 one = 0 if zero < 0: zero = 0 return zero 이렇게 하니까 한 줄에 여러 1이 있는 경우를 커버하지 못 한다.. 딱 1번째 예시만 통..
코딩테스트 연습 - OX퀴즈 | 프로그래머스 스쿨 (programmers.co.kr) 일단..문자열로 된 수식을 어떻게 계산하느냐.. 구글링 ㄱㄱ 참고블로그: 파이썬으로 문자열로된 식을 계산하기(eval 함수) (tistory.com) 바로 나왔다 eval()이라는 함수가 있다 이 문제는 =을 기준으로 수식과 답이 써있으니까 split을 쓰면 되는 걸까..? def solution(quiz): answer = [] for q in quiz: cal = q.split("=") formulra = cal[0].rstrip() result = cal[1].lstrip() formula_result = eval(formulra) if result == formula_result: answer.append("O"..