본문 바로가기

분류 전체보기129

[알고리즘/C언어] 10진수를 2진수로 변환 #include int main(void){ int num=6, n[10], i=0; do { n[i]=num%2; num=num/2; i++; }while(num); for(i=i-1; i>=0; i--) printf("%d", n[i]); printf("\n"); return 0;}cs 수기로 구하는 방식대로 짠 것do while으로 한 이유는 ? input이 0 일때도 제대로 되게 하려고 그런 것 같음 #include int main(void){ int num=6, i=0, chk=0; for( i=sizeof(int)*8-1; i>=0; i-- ) { if( ( ((num>>i) & 1) && !chk) || i==0 ) chk=1; if(chk) printf("%d", (num>>i) & 1);.. 2013. 12. 22.
[책] 좋은 코드를 작성하는 기술 1. 좋은 코드란?- 유지보수성이 높다.- 신속하고 효율적으로 동작한다.- 정확하게 동작한다.- 불필요한 부분이 없다. 2. 좋은 코드를 작성하기 위한 습관- 오픈소스나 다른 전문 프로그래머들이 작성한 코드를 읽어라.- 직접 코드를 작성해라.- 통합개발환경 등의 툴 사용법을 충분히 숙지해라. 직접 포털에서 레퍼런스를 검색하는 것 보다, 에디터 상에서 1초만에 원하는 API를 보여주는 것이 효율이 훨씬 높을것이다.- 다른사람의 피드백을 받아라 (코드 리뷰 받기, 블로그 등에 올리기) 3. 좋은 코드는 좋은 이름에서 나온다- 이름만 보고도 기능이나 역할을 알 수 있도록 네이밍을 해라.- 이름을 지을 때 생략하는 방법에도 요령이 있다. - 어두 이외의 모음을 삭제한다 (image -> img)- 강한 음을 남.. 2013. 12. 15.
[알고리즘/C언어] 최소공배수 최대공약수 #include int gcd_func(int x, int y){ if(y==0) return x; else return gcd_func(y, x%y);} int lcd_func(int x, int y){ int i; for(i=1; inum2) // num1 2013. 12. 14.
[알고리즘/C언어] 문자열 거꾸로 출력하기 1. 그냥 출력하기 혹은 추가 배열에 저장하기 #include#include int main(void){ char a[] = "My Name Is Soy Lee"; int i, j; printf("%s\n", a); for(i=strlen(a)-1; i>=0; i--) { if(a[i]==' ') { for(j=i+1; a[j]!=' ' && a[j]!='\0'; j++) printf("%c", a[j]); printf(" "); } else if(i==0) { for(j=i; a[j]!=' '; j++) printf("%c", a[j]); } } printf("\n"); return 0;}Colored by Color Scriptercs 2. 추가 배열 없이, 기존 배열에서 위치 바꾸기 #include.. 2013. 12. 14.
피아노 내가 학교에서 가장 좋아하는 공간 ♥.♥ 여기에 피아노가 있다는걸 우연히 알게 된 이후로는, 10분이라도 시간이 남으면 항상 여기로 달려왔던 것 같다아침에 첫 수업 가기 전에도 잠깐 들리고~ 점심 먹고 수업 가기전에도 들리고~수업 다 끝나고도 들리고~ㅋㅋㅋㅋㅋㅋㅋ 진짜 열심히 출석도장을 찍었다..* 먼저 치던 사람이 있으면 밖에서 기다리며 듣고 있는 것도 좋았고오며 가며 이름도 모르는 사람들과 곡 이야기 나누는 것도 소소한 재미였다이 곳에서 생긴 에피소드도 여러가지 있었지...ㅋㅋㅋㅋㅋ 굉장히 오래된, 브랜드도 없는 피아노지만, 가끔 조율도 되고 있는 것 같았고건반도 묵직하고.. 좁은 공간이라 소리 울림도 좋았고, 창문으로 햇살 들어오는 것도 좋았다 ㅎㅎ 졸업을 앞두고 갑자기 감성적이 되어버려서 쓰는 글.. 2013. 12. 11.
취업준비 증명사진을 찍고 왔당 :)이제서야 찍다니....ㅋㅋㅋㅋ여름에 인턴 하나 써보지 못하고 ㅠㅠ실물과의 갭에 괴리감이 들긴 하지만 참하게 잘나온듯?!?! 하하이제 자소서를 열심히 씁시다 끝 2013. 9. 16.
[C언어] Parameter / Argument 차이 void func( int parameter ) // 파라미터 = 매개변수. 호출되면서 전달받은 것. { printf(" %d ", parameter); } int main() { func( 3 ); // argument = 인자. 함수를 호출할 때 전달하는 것. } 2013. 8. 22.
Simple CSV Reader - 자바 CSV 파일 읽기 import java.io.BufferedReader; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; /** * Created by soy */ public class CSVReader { List〈person〉 personList = readPersonFromCSV("person.csv"); private List〈person〉 readPersonFromCSV(String fileName).. 2013. 8. 15.
Radiohead - Creep (Acoustic) + happily ever after 2013. 8. 9.
[OS] 쓰레드 / 프로세스 차이 프로세스와 쓰레드의 관계는 플랫폼에 따라 크게 달라진다. 플랫폼이 같더라도 JVM의 구현 방법에 따라 프로세스와 쓰레드의 관계는 달라진다. 그러나 일반적으로는 "한 개의 프로세스 안에 복수개의 쓰레드가 구축"된다. 쓰레드는 메모리를 공유한다프로세스와 쓰레드의 최대 차이점은 메모리 공유의 유무이다.프로세스는 각각 독립된 메모리 공간을 가진다. 다른 프로세스의 메모리를 맘대로 읽거나 쓸 수 없다. 즉, 어떤 프로세스의 메모리 공간이 다른 프로세스로 인해 망가질 염려가 없다.반면 쓰레드는 메모리를 공유한다. (Java의 메모리 모델에는 공유메모리와 캐시메모리가 있는데, 여기서 말하는 것은 공유메모리이다.)한 개의 쓰레드가 메모리 상에 정보를 적고, 그것을 다른 쓰레드에서 읽는 것은 흔한일이다. "메모리를 공유.. 2013. 8. 7.
4학년 1학기도 끄읏 4학년 1학기도 끝이 났다.요즘은 발등에 불떨어져서 토익+오픽공부를 죽어라 하고있다ㅠㅠㅠ아직까지 아무것도 해놓지 않았다ㄴㅣ...뭐한거냐 대체ㅜㅠ...이런..! 그래두 졸업논문은 완전히 끝났다 ㅎㅎ남들보다 한학기 일찍 진행했는데, 잘 한 것 같당 그리고 성적은.. 이정도면 만...족....ㅎㅎㅎ 무엇보다도 미적2가 A+이라서 뿌듯하다수능친지 5년이 더 지난 이제서야.. 미적 하느라 넘 힘들었다 ㅜㅜ 인공지능은 중간고사 때 실수를 너무 많이 해서 돌이킬 수 없었다..또르르A도 감지덕지 인 듯... 수업은 정말 재밌었는데 ㅠㅠ ㅎㅏ.. 2학기때는 12학점만 들으면 된다 ^_ㅠ 2013. 8. 2.
[Java] 팩토리얼 팩토리얼 public class Factorial { public static int factorialByLoop(int n) { int sum = 1; for(int i=n; i>1; i--) sum = sum*i; return sum; } public static int factorialByRecursion(int n) { if(n==1) return 1; return n * factorialByRecursion(n-1); } public static void main(String[] args) { System.out.println( Factorial.factorialByRecursion(5) ); System.out.println( Factorial.factorialByLoop(5) ); } } 재.. 2013. 5. 22.
[Java] 피보나치수열 with memoization 피보나치 수열 1, 1, 2, 3, 5, 8, 13, 21, ... public class Fibo { public static long fiboByRecursion(long n) { if (n == 1 || n == 2) return 1; return fibo(n-1) + fibo(n-2); } public static long fiboByLoop(long n) { if (n == 1 || n == 2) return 1; long sum = 1; long prev = 1; long temp; for(long i=3; i 0) return memo[n]; if (n == 1 || n == 2) return memo[n] = 1; return memo[n] = fibo(n-1) + fibo(n-2); } .. 2013. 5. 9.
Checked Exception / Uncheked Exception (RuntimeException) Checked Exception Exception을 상속한 클래스는 try-catch, throws 등으로 예외처리를 해주어야 한다. 처리를 해주지 않으면 컴파일시 에러가 발생한다. Unchecked Exception (RuntimeException) 반면 RuntimeException을 상속한 클래스는 예외처리가 필수가 아니다. -> ArithmeticException, IllegalArgumentException, IndexOutOfBoundsException 코드에서 미리 예외조건을 처리하게 만든다면 피할 수 있으나, 개발자가 부주의하게 코딩한 경우에 발생할 수 있는 종류의 예외들이다. http://docs.oracle.com/javase/7/docs/api/java/lang/RuntimeExcep.. 2013. 4. 24.
개강 개강 3일째.. 이제 난 4학년이다...ㅎㅎㅎㅎ;;으아니.. 내가 4학년이라니! 이게 뭔소리요토익 따야하는데 ㅠㅠㅠㅠㅠ오픽도 해야하는데 ㅜㅜㅜㅜㅜㅜ졸업논문도 ㅠㅠㅠㅠㅠㅠ 2013. 3. 6.