728x90 반응형 쓸모있는 AI 정보68 [알고리즘] OX 퀴즈 리스트 내포 if else 반복문 eval 함수 프로그래머스 앞선 과정으로 이제 리스트 내포를 활용한 함수 생성에 익숙해지기 시작했다. 그리고 알지 못했던 eval 함수의 존재.. eval 함수는 코딩 테스트 시에는 사용하면 좋지만 실제 개발시에 굉장히 조심해서 사용해야 한다는 점. 기억해야 할 것이다. 그러나 코딩 테스트 때에 아래와 같은 O, X 문제 풀때 eval 함수를 사용하지 않는다면 하나 하나씩 split 해주고 분리해주어야 하기 때문에 잘 활용하는 것이 좋다. 그리고 리스트 내포. 정말 간결하게 짤수 있어서 좋다. def solution(quiz): result = ["O"if eval(i.split("=")[0]) == eval(i.split("=")[1]) else "X" for i in quiz ] return result 위의 코딩에서는 이전의.. 2024. 2. 3. [알고리즘] n의 배수 고르기 리스트 내 반복문, 조건문 사용 프로그래머스 level 0 앞선 포스팅에서 리스트 내 반복문을 사용할 수 있다는 내용을 적어두었다. 그래서 코딩 할때 가급적 리스트의 결과를 리턴해야 할 경우에는 한번에 리스트내 반복문, 조건문을 사용하는 구조가 안되더라고 바꿔보기로 했다. 아래는 처음에 그냥 또 직관적으로 코딩 했던 것 def solution(n, numlist): result = [] for i, num in enumerate(numlist): if num % n == 0: result.append(num) print(result) return result 아래의 코드는 리스트 내 반복문, 조건문을 사용해서 문제를 해결했다. def solution(n, numlist): return [num for num in numlist if num % n == 0] 조금.. 2024. 2. 2. [알고리즘] 2차원으로 만들기 리스트 내부에 반복문 함수 프로그래머스 level 0 이제는 좀 더 심화해서 리스트 내의 함수를 사용해서 불필요한 반복문을 줄여보기로 했다. 데이터 분석 및 모델링 시 데이터 전처리가 중요한 부분이나 그렇게 까지 신경쓰지 못했던 부분들이 있었다. 컴공 출신이 아니라 그런지 더더욱 교육의 부재가 크게 느껴졌다. 어떻게 하면 효율적으로 코딩할 수 있을지. 간결함 뿐만 아니라 시간 복잡도의 효율성을 고려해서 짜고 싶어졌다. 습관적으로 함수를 생성할 때, 변수를 만들고 또 새로운 리스트를 생성하고 생성하고 생성하고... 해서 for 문, if, else를 불필요하게 많이 사용했다. 그런데 최종적으로 리스트에 결과가 나오도록 하려면 리스트 내에 함수를 사용할 수 있다는 것을 알게 되어 2차원 만들기 코딩할때 도전해봤다. def solution(num_list, n).. 2024. 2. 1. [알고리즘] 가위 바위 보 프로그래머스 level0 앞선 포스팅과 마찬가지로 직관적으로 짠 코드 정말 정직하게 짰구나.. # 가위 2 바위 0 보 5 def solution(rsp): result = [] for val in rsp: if val == '2': ans = '0' elif val == '0': ans = '5' else: ans = '2' result.append(ans) return ''.join(result) 다음번에는 피드백 받아서 최대한 간결하게 짜보도록! 2024. 1. 31. [알고리즘] 대문자와 소문자 프로그래머스 level 0 문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요. def solution(my_string): result = [] for i in list(my_string): if i.isupper(): ans = i.lower() else: ans = i.upper() result.append(ans) answer = ''.join(result) return answer 나는 아직까지 그냥 직관적으로 짜는것 같다.. 좀더 통으로?? 짜고 싶은데 머리가 잘 안돌아가는... 다음번에는 다른 부분으로 변형해봐야겠다. 파이썬에 대문자 --> 소문자, 소문자 --> 대문자 자동으로 변환해주는 함수가 있었는지는 모르겠다.. 2024. 1. 30. [알고리즘] 문자열 밀기 프로그래머스 LEVEL 0 프로그래머스 문자열 밀기 생각한 과정을 풀이로 써보려한다. 항상 직관적으로 코딩하는 나에게 여러 생각으로 나열하여 풀이하는것이 익숙치 않지만 이제부터 익숙해지기로 했다. 하루에 1개는 풀어보자 처음에 접근한 방법은 정말 단순하다.. 불필요한 조건들과 반복된 것들로 인해 장황해보인다. def solution(A,B): answer = -1 if A == B: return 0 lista = list(A) listb = list(B) for i in range(1,len(A)): a = list(lista.pop()) a.extend(lista) lista = a if lista == listb: return i # answer = i # break return answer요렇게 해보니깐 이전에 보이지 않았던.. 2024. 1. 29. 이전 1 ··· 6 7 8 9 10 11 12 다음 728x90 반응형