My Blog List

Wednesday, June 14, 2017

RabbitMq BasicQos

BasicQos 이 만약에 1이 설정되어있다면
해당 Consumer 가  ack를 날리지 않는 상황이면 Queue는 해당 consumer에게 더이상 메세지를 전송하지 않는다.

Wednesday, May 31, 2017

The clean coder를 읽고 난 소감

책을 읽고 난 다음 머가 남았는가 회상해본다.

1. 하루에 8시간은 회사업무를 하고 2시간은 나를 위해서 사용한다.
2. 매일 쉬운문제를 풀어서 손과 머리 두뇌,, 연습해라,
3. 일정잡을때 약속을 할때 말을 조심해야한다.

머 이정도 된것 같다.

TDD 도 중요하게 생각하는것 같고.

약간 자기 개발서 같은 느낌이다. ㅡ.ㅡ;

그닥 나에게 도움된 책은 아닌듯.

are Simmilar

https://codefights.com/arcade/intro/level-4/xYXfzQmnhBvEKJwXP

my solution is  below

what i focus on is when difference is 0 or 2


public static boolean areSimilar(int[] a, int[] b) {

  int difference= 0; 
  int [] p = new int[2];
  int pos = 0;
  
  for (int i = 0; i < a.length; i++) {  
   
   if(a[i] != b[i]){
    if(difference==2){
     return false;
    }    
    p[pos++] = i;
    difference++;
   }
  }
  
  return difference ==0 || (difference ==2 && (a[p[0]] == b[p[1]] && a[p[1]] == b[p[0]]));
 }

Wednesday, May 17, 2017

codefights smooth sailing ( CommonCharacterCount)

https://codefights.com/arcade/intro/level-3/JKKuHJknZNj4YGL32

public static int commonCharacterCount(String s1, String s2) {
  int sum = 0;
  
  char[] as= s1.toCharArray();
  char[] bs= s2.toCharArray();
  
  int[] ias = new int[126];
  int[] ibs = new int[126];
  
  for (int i = 0; i < as.length; i++) {
   ias[(int)as[i]]++;
  }
  
  for (int i = 0; i < bs.length; i++) {
   ibs[(int)bs[i]]++;
  }
  
  for (int i = 0; i < ibs.length; i++) {
   sum += Math.min(ias[i], ibs[i]);
  }
  return sum;
 }


Given two strings, find the number of common characters between them.
Example
For s1 = "aabcc" and s2 = "adcaa", the output should be
commonCharacterCount(s1, s2) = 3.
Strings have 3 common characters - 2 "a"s and 1 "c".
Input/Output
  • [time limit] 3000ms (java)
  • [input] string s1
    A string consisting of lowercase latin letters a-z.
    Guaranteed constraints:
    1 ≤ s1.length ≤ 15.
  • [input] string s2
    A string consisting of lowercase latin letters a-z.
    Guaranteed constraints:
    1 ≤ s2.length ≤ 15.
  • [output] integer

Monday, May 15, 2017

codefights matrixElementsSum easy

https://codefights.com/arcade/intro/level-2/xskq4ZxLyqQMCLshr/description

my answer is 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int matrixElementsSum(int[][] matrix) {
int sum=0;
 
    for(int i=0; i<matrix[0].length; i++){
        sub:
        for(int y=0; y<matrix.length;y++)    {
            if(matrix[y][i] == 0){
                    break sub;
            }else{
                sum+= matrix[y][i];
            }
        }
    }
    
    return sum;
}
 
cs

After becoming famous, CodeBots decided to move to a new building and live together. The building is represented by a rectangular matrix of rooms, each cell containing an integer - the price of the room. Some rooms are free (their cost is 0), but that's probably because they are haunted, so all the bots are afraid of them. That is why any room that is free or is located anywhere below a free room in the same column is not considered suitable for the bots.
Help the bots calculate the total price of all the rooms that are suitable for them.
Example
For
matrix = [[0, 1, 1, 2], 
          [0, 5, 0, 0], 
          [2, 0, 3, 3]]
the output should be
matrixElementsSum(matrix) = 9.
Here's the rooms matrix with unsuitable rooms marked with 'x':
[[x, 1, 1, 2], 
 [x, 5, x, x], 
 [x, x, x, x]]
Thus, the answer is 1 + 5 + 1 + 2 = 9.

Sunday, April 30, 2017

codefight arcade level2 shapeArea

Below we will define an n-interesting polygon. Your task is to find the area of a polygon for a given n.
1-interesting polygon is just a square with a side of length 1. An n-interesting polygon is obtained by taking the n - 1-interesting polygon and appending 1-interesting polygons to its rim, side by side. You can see the 1-, 2-, 3- and 4-interesting polygons in the picture below.

my solution is 

F(1) = 1;
F(n) = F(n-1) + 4(n-1)

Easy 

link
 https://codefights.com/arcade/intro/level-2/yuGuHvcCaFCKk56rJ

Monday, April 10, 2017

Effective Java 규칙12 Comparable 구현을 고려하라

알파벳 순서나 자연적 순서에 따르는 값의 클래스를 구현할때는
Comparable을 구현하는 것을 고려해봐야한다.

고려한다는 말은 추천한다는 말의 의미이지 꼭 써야한다는것은 아니다.


public interface Comparable<T>{
   int compareTo(T t);
}


A < B   -1
A == B  0
A > B    1

A<B 이고
B<C 인경우
A<C 이어야한다. 추이성(transitivity)

x.compareTo(y)== 0 이라고 x.equals(y) 가 참은 아니다.

int를 비교할때 대상이 음수라면
comapre로직을 고려해봐야한다.

비교 로직이 a-b > 0  이런식으로 작성할경우

int 의 max 값에서 더 큰수를 더 할 경우  즉
a = 양수 최대값이고
b = 음수면
int범위 밖의 내용에 해당하므로 음수가 반환이 된다.

Comparable은 컬렉션 객체에서 유용하게 쓰인다.