본문 바로가기

분류 전체보기

(502)
[코딩인터뷰 완전정복] 1.9 문자열 회전 Q : 한단어가 다른 문자열에 포함되어 있는지 판별하는 isSubstring 이라는 메서드가 있다고 하자. s1과 s2의 두 문자열이 주어졌을때 s1이 s2의 회전인지 판별하고자 한다. isSubstring을 1번만 호출해서 판별할 수 있는 코드를 작성하라. 회전 : abcde → cdeab s1을 문자열 xy로 나눴을때 yx는 s1의 회전이다. 단순하게 생각해보면 y가 s2의 처음에 나오는지 확인하고 그 뒤가 x와 일치하는지 확인하면 되지만 이 방법은 isSubstring을 1번만 호출하라는 지시에 맞지 않다. bool isRotate(string s1, string s2){ return isSubstring(s1+s1, s2); } 조금 더 생각을 해보자. s1 = xy , s2 = yx 라고 한다면..
[코딩인터뷰 완전정복] 1.8 O행렬 Q : M * N 행렬의 한 원소가 0일 경우, 해당 원소가 속한 행과 열의 모든 원소를 0으로 설정하는 알고리즘을 작성하라. #include int** OMatrix(int** input, int m, int n) { bool* horizen0; bool* vertical0; horizen0 = new bool[m]; vertical0 = new bool[n]; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (input[i][j] == 0) { horizen0[i] = 1; vertical0[j] = 1; } } } for (int i = 0; i < m; i++) { if (horizen0[i] == 1) { for (int j = 0..
[무료배포] Fearless Fantasy (~19.05.14 03:00) 스팀에서 Fearless Fantasy를 무료로 배포하고 있습니다. 한번 제품 등록시 라이브러리에 영구히 소장되며 기한은 14일 새벽 3시까지 입니다. 링크 : https://store.steampowered.com/app/282100/Fearless_Fantasy/ Save 100% on Fearless Fantasy on Steam As Leon, the world’s most dangerous bounty hunter, you embark on a mission to slay the world’s weirdest creatures, and save a girl from an awful marriage. store.steampowered.com 최소사양 운영체제: Windows XP and up 프로..
[무료배포] Divide By Sheep (~19.05.14 03:00) 스팀에서 Divide By Sheep을 무료로 배포중입니다. 한번 등록하면 라이브러리에 영구히 소장되며 기한은 14일 새벽 3시 까지입니다. 장르는 퍼즐입니다. 링크 : https://store.steampowered.com/app/252130/Divide_By_Sheep/ Save 100% on Divide By Sheep on Steam Divide By Sheep is a mind-bending math puzzler about friendship and slicing sheep in half with lasers. The Grim Reaper flooded the world, and it's up to you to save critters stranded on islands. Insane math..
[무료배포] Age Of Wonders III (~19.05.12 02:00) Humble에서 Age Of Wonders 3를 무료로 배포하고 있습니다. 5월 12일 새벽 2시까지 배포하며, 스팀키가 제공됩니다. 험블 아이디가 필요합니다. 링크 : https://www.humblebundle.com/store/age-of-wonders-iii Get Age of Wonders III for free For a limited time, get Age of Wonders III for free and keep it forever, courtesy of Humble Bundle! While supplies last. www.humblebundle.com
NGUI Button의 이미지를 변경 할때 주의사항 NGUI의 버튼에는 UISprite와 UIButton이 함께 들어있다. UISprite가 있는 오브젝트에 UIButton을 생성할 경우 UIButton의 normalSprite가 자동으로 UISprite의 spriteName으로 초기화 된다. hoverSprite, pressedSprite, disabledSprite는 따로 설정해주지 않으면 비어있으며, normalSprite가 default값이 된다. 다만 스크립트로 버튼의 Sprite를 바꾸려고 할 때, UISprtie의 spriteName을 변경할 경우, spriteName은 바뀌나, UIButton의 normalSprite는 바뀌지 않는다. 때문에, 버튼에 마우스를 올리거나 누르게 되면, 다시 원래의 이미지로 돌아오는 현상이 발생한다. 따라서 U..
[코딩인터뷰 완전정복] 1.7 행렬 회전 Q : 이미지를 표현하는 N*N 행렬이 있다. 이미지의 각 픽셀은 4바이트로 표현된다. 이때, 이미지를 90도 회전시키는 메서드를 작성하라. 행렬을 추가로 사용하지 않고서도 할 수 있겠는가? #include int** RotateMatrix(int* matrix[], int n) { int temp; for (int i = 0; i
[코딩인터뷰 완전정복] 1.6 문자열 압축 Q : 반복되는 문자의 개수를 세는 방식의 기본적인 문자열 압축 메서드를 작성하라. 만약 압축된 문자열의 길이가 기존문자열보다 길다면 기존 문자열을 반환한다. ​ A : 1. 하나의 문자를 읽어와서 저장한다. 카운트를 1로 한다. 2. 다음 문자를 읽어와서 저장된 문자와 같다면 카운트를 1올린다. 3. 다른 문자가 나올때까지 2를 반복. 4. 다른 문자가 나올경우 압축 문자열에 저장된문자와 카운트를 추가한다. 5. 압축문자열이 기존문자열보다 길어지거나 문자열이 끝날때까지 1부터 반복. 6. 압축문자열이 기존문자열보다 길다면 기존문자열을 반환. 아닐경우 압축 문자열을 반환