카카오 코딩테스트 문제1 Java, Python

이미지
오늘 프로그래머스에서 카카오 블라인드 채용 테스트를 했다. 저는 굉장히 허접이라서 경험삼아 도전해 보았는데, 문제1번만 풀었다.. 문제는 총 7문제이고 언어는 C++, Java, Python, JavaScript, Swift 이렇게 5개로 풀 수있다. 그래서 총 7 x 5 = 35 문제라고 할 수 있다. 문제1번을 Java랑 Python 2가지 언어로 풀었는데, 1시간 30분 걸렸다... 총 5시간 300분 중에 90분을 썼는데, 2가지 언어로 풀고 나니까 현자타임(?)이 와서 그만 두었다. 그래서 제가 java,python으로 푼 1번 문제 코드만 블로깅 해볼려고 합니다. 1번문제는 아래와 같아요. 이거를 그대로 써도 될지 잘모르겠는데,, 저작권같은거에 걸릴까봐 겁나긴 하는데 그냥 올려봅니다. 출처 : < https://programmers.co.kr/tryouts/1255/challenges/4412?language=java >  문제 설명 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가   n 인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은...

Java로 별 그리기

이미지

programmers level1 알고리즘 문제 - 딕셔너리 정렬 Python

import operator def sort_dictionary (dic): ''' 입력받은 dic의 각 키와 값을 튜플로 만든 다음, 키 값을 기준으로 정렬해서 리스트에 넣으세요. 그 리스트를 return하면 됩니다. ''' return sorted (dic.items(),key=operator.itemgetter( 0 )) # 아래는 테스트로 출력해 보기 위한 코드입니다. print( sort_dictionary( { " 김철수 " : 78 , " 이하나 " : 97 , " 정진원 " : 88 } ))

programmers level1 알고리즘 문제 - 같은 숫자는 싫어 Python

def no_continuous (s): # 함수를 완성하세요 t =[] bikyo = 0 for i in s: if (i == bikyo): continue else : t.append(i) bikyo = i return t # 아래는 테스트로 출력해 보기 위한 코드입니다. print( no_continuous( " 133303 " ))

programmers level1 알고리즘 문제 - 자릿수더하기 Python

def sum_digit (number): ''' number의 각 자릿수를 더해서 return하세요 ''' number = str (number) num = list (number) hap = 0 for i in num: hap += int (i) return hap # 아래는 테스트로 출력해 보기 위한 코드입니다. print( " 결과 : {} " .format(sum_digit( 123 )));

programmers level1 알고리즘 문제 - 제일 작은 수 제거하기 Python

def rm_small (mylist): # 함수를 완성하세요 min = mylist[ 0 ] for i in mylist: if (i< min ): min =i mylist.remove( min ) return mylist # 아래는 테스트로 출력해 보기 위한 코드입니다. my_list = [ 4 , 3 , 2 , 1 ] print( " 결과 {} " .format(rm_small(my_list)))

programmers level1 알고리즘 문제 - 약수의 합 C++, Java , JavaScript, Python

#include <iostream> using namespace std; int sumDivisor( int n) { int hap = 0 ; for ( int i = 1 ; i<=n; i++){ if (n%i== 0 ){ hap += i; } } return hap; } int main() { int testCase = 12 ; int testAnswer = sumDivisor(testCase); cout<<testAnswer; } class SumDivisor { public int sumDivisor( int num) { int answer = 0 ; for ( int i= 1 ; i<=num; i++){ if (num%i== 0 ){ answer+=i; } } return answer; } // 아래는 테스트로 출력해 보기 위한 코드입니다. public static void main( String [] args) { SumDivisor c = new SumDivisor(); System .out.println(c.sumDivisor( 12 )); } } function sumDivisor (num) { var answer = 0 ; for ( var i = 1 ; i<=num; i++){ if (num%i== 0 ) answer += i; } return answer; } // 아래는 테스트로 출력해 보기 위한 코드입니다. console.log(sumDivisor( 12 )); def sumDivisor (num): answer = 0 yak =[] ...