728x90

Programmers Code/Level 2 23

[Programmers] level2 - 짝지어 제거하기 (Python) : 2017 팁스타운

▶짝지어 제거하기 - 2017 팁스타운 (level 2) ▶문제 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. ▶제한사항 문자열의 길이 : 1,000,000 ..

[Programmers] level2 - 메뉴 리뉴얼 (Python) : 2021 KAKAO BLIND RECRUITMENT

▶메뉴 리뉴얼 (Python) : 2021 KAKAO BLIND RECRUITMENT (level 2) ▶풀이 combinations를 이용해서 메뉴별로 조합을 만든다. combinations는 중복을 허용하지 않고 조합을 만들어줘서 그것을 이용했다. 그다음에 조합이 몇 개가 등장하는지 counter함수를 이용해서 카운트했다. 이때 어떤 메뉴를 추가할지 정해야 하는데 2명 이상 주문한 코스 거나 가장 많이 주문한 코스면 된다. 그래서 조건문에 1보다 커야 하고 가장 첫 번째 값과 같을 때 추가해주는 거다. 첫 번째 값과 같아야 하는 이유는 most_common() 함수를 이용해서 자동으로 정렬시켰고, 그렇기 때문에 두 번째 코스도 첫 번째와 같이 많이 호출되었을 수도 있기 때문이다. 이거를 반복시켜주면 ..

[Programmers] level2 - k진수에서 소수 개수 구하기 (Python) : 2022 KAKAO BLIND RECRUITMENT

▶k진수에서 소수 개수 구하기 - 2022 KAKAO BLIND RECRUITMENT (level 2) ▶풀이 주어진 숫자를 k에 맞춰 진수로 바꿔준다. word라는 string을 하나 만들어서 k로 나눈 나머지를 계속해서 앞에다 넣어주는 방식으로 진수를 만들었다. 그다음에 숫자 '0'을 기준으로 split를 해주어 words에 저장한다. 그 숫자들을 하나씩 가지고 와서 소수인지 아닌지 확인하는 코드를 돌려 소수라면 answer를 1 증가시켜준다. https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 수..

728x90